MySQL5.7.14安裝過程:
下載5.7版本:wget http://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.14-linux-glibc2.5-x86_64.tar.gz
創建目錄:mkdir -P /opt/ mysql
進入目錄:cd /opt/ mysql
解壓mysql安裝包:tar zxvf /data/mysql-5.7.14-linux-glibc2.5-x86_64.tar.gz
創建軟連接:ln -s /opt/mysql-5.7.14-linux-glibc2.5-x86_64 /usr/local/mysql
創建用戶:groupadd mysql
指定用戶:useradd -M -g mysql -s /sbin/nologin -d /usr/local/mysql mysql
創建基本目錄:mkdir -p /data/mysql/mysql3306/{data, logs, tmp}
更改屬主:chown -R mysql:mysql /data/mysql/mysql3306
創建my.cnf文件放在:/etc/my.cnf,my.cnf到處都有,推薦葉金榮老師的在線生成:http://imysql.cn/author/yejr
安裝:cd /usr/local/mysql/
./bin/mysqld --initialize
指定配置文件初始化: ./bin/mysqld --defaults-file=/etc/my.cnf --initialize
創建啟動腳本:cd /usr/local/mysql/
cp support-files/mysql.server /etc/init.d/mysql
注意:5.7 初始化會加一個默認的密碼,存放在error log里面,/data/mysql/mysql3306/data/error.log
在error.log中過濾出密碼:cat /data/mysql/mysql3306/data/error.log |grep password 按照這樣可以得到密碼
2016-08-03T01:57:04.398037Z 1 [Note] A temporary password is generated for root@localhost: Fb&CYhv6UlwP
密碼就是: Fb&CYhv6UlwP
啟動及停止:/etc/init.d/mysql start |stop|restart
將啟動腳本放入環境變量:echo "export PATH=$PATH:/usr/local/mysql/bin" >>/etc/profile
source /etc/profile
登入之后發現前面有unknown的提示,這時我們要更改用戶:alter user user() identified by 'liu123';
改完之后就變成root@localhost,可以操作數據庫了。
MySQL軟連接的好處是小版本變更或者版本微調都很容易:
停止數據庫:/etc/init.d/mysql stop
清除軟連接:unlink /usr/local/mysql
建立新的版本的軟連接:ln -s /opt/mysql/mysql-5.7.20 /usr/local/mysql
啟動MySQL:/etc/init.d/mysql start
注意:大版本的變更還是要upgrade!
mysql文件加載順序:
1:首先會讀取/etc/my.cnf
2:然后讀取/etc/mysql/my.cnf
3:第三個是/usr/local/mysql/etc/my.cnf
4:最后加載 ~/.my.cnf
注意:上面所有的文件都會加載一遍,沒有就跳過,mysql是后面的文件參數覆蓋前面文件參數的,但是如果指定了defaults-file這個參數,只會讀給定位置的配置文件。所以最好在啟動或者初始化的時候指定好配置文件:--defaults-file=/etc/my.cnf。
數據庫的啟動歸根結底是調用mysqld:
1):標准方式 --- 這兩種方式相等。
service mysqld start
/etc/init.d/mysql start (這里的mysql來自 -- cp /use/local/mysql/support-file/mysql.server /etc/init.d/mysql)。
2):以下三種方式,用於啟動多實例:
/use/local/mysql/bin/mysqld_safe --defaults-file=/path/my.cnf &
/use/local/mysql/bin/mysqld --defaults-file=/path/my.cnf &
/use/local/mysql/bin/mysqld_multi start 3306
3):設置MySQL自啟動:但是生產環境不建議開啟自啟動,不便於排查問題。
chkconfig —add mysql
