MySQL5.7 linux二進位制安裝

pursuer.chen發表於2016-04-20

介紹

MySQL5.7出來也有大半年了,業內也一直在宣傳5.7有多麼的N,官網的也是宣傳5.7有好幾倍的速度的提升包括在語法方面更多的支援、JOSN、並行複製等;但是一直期待的執行緒池還是沒有在5.7中出現有點遺憾。忍不住也下載一個來玩玩,mysql5.7的安裝相對於5.6還是有點區別,本章主要介紹二進位制的安裝方法。

環境:centos6.7,mysql5.7.12

 

安裝

我下載的是版本是mysql5.7.12社群版,具體的下載方法就不介紹,在官網就可以找到。

解壓拷貝

mv mysql-5.7.14-linux-glibc2.5-i686 /usr/local/mysql

先建立mysql使用者

groupadd mysql
useradd -r -g mysql -s /bin/false mysql

建立mysql的資料目錄,該目錄在初始化資料庫的時候會用到

mkdir /mysql /mysql/data /mysql/log 

修改目錄許可權

chown -R mysql:mysql /usr/local/mysql /mysql

建立my.cnf檔案

vim /etc/my.cnf

[client]
port = 3306
socket = /tmp/mysql.sock

[mysqld]
server_id=10
port = 3306
user = mysql
character-set-server = utf8mb4
default_storage_engine = innodb
log_timestamps = SYSTEM socket
= /tmp/mysql.sock basedir = /usr/local/mysql datadir = /mysql/data pid-file = /mysql/data/mysql.pid max_connections = 1000 max_connect_errors = 1000 table_open_cache = 1024 max_allowed_packet = 128M open_files_limit = 65535 #####====================================[innodb]============================== innodb_buffer_pool_size = 1024M innodb_file_per_table = 1 innodb_write_io_threads = 4 innodb_read_io_threads = 4 innodb_purge_threads = 2 innodb_flush_log_at_trx_commit = 1 innodb_log_file_size = 512M innodb_log_files_in_group = 2 innodb_log_buffer_size = 16M innodb_max_dirty_pages_pct = 80 innodb_lock_wait_timeout = 30 innodb_data_file_path=ibdata1:1024M:autoextend #####====================================[log]============================== log_error = /mysql/log/mysql-error.log slow_query_log = 1 long_query_time = 1 slow_query_log_file = /mysql/log/mysql-slow.log sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

說明:這裡只是進行了一些簡單的配置 

初始化資料庫

在5.7.6之前初始化的方法是:bin/mysql_install_db --user=mysql

我下載的是最新的5.7.12也是4.12號剛釋出的版本,5.7.6之後的版本初始化資料庫不再使用mysql_install_db

bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/mysql/data  --innodb_undo_tablespaces=3 --explicit_defaults_for_timestamp

 如果配置了my.cnf的log_error,那麼初始密碼在log_error檔案中,否則會列印出來。

bin/mysql_ssl_rsa_setup --datadir=/mysql/data

修改目錄許可權

chown -R mysql:mysql /usr/local/mysql /mysql

配置啟動檔案

cp support-files/mysql.server /etc/init.d/mysql
chkconfig --add mysql
chkconfig mysql on
service mysql start

配置環境變數

mysql_home=/usr/local/mysql
PATH=$PATH:$mysql_home/bin
source /etc/profile

修改密碼

在5.7中儲存密碼的欄位不再是password了,變成了authentication_string

update mysql.user set authentication_string=password('root') where user='root';

修改root密碼後如果第一次使用root使用者登入mysql系統還會需要重置一次root密碼

SET PASSWORD=PASSWORD('root');
flush privileges;

和5.6相比資料目錄有一些變化板塊多出了一些.pem字尾的檔案暫時還不知道這些檔案的作用,其中多出的sys庫是一個很大的特點,這個系統庫中包含了很多資源資訊統計的檢視表包括伺服器的io、memory、wait、lock、statement等

總結

 mysql5.7雖然還沒有深入研究,但是它已經給我帶來了很多的驚喜,特別是增加了sys庫對於效能的分析有多了很多的便利,mysql已經越來越完善了,期待後面的使用。

 

 

 

備註:

    作者:pursuer.chen

    部落格:http://www.cnblogs.com/chenmh

本站點所有隨筆都是原創,歡迎大家轉載;但轉載時必須註明文章來源,且在文章開頭明顯處給明連結。

《歡迎交流討論》

相關文章