1.背景
伺服器上有mysql5.5.38,要求升級為mysql5.6
2.方法
為了降低影響範圍,可持續作業,決定在現有基礎上部署mysql5.6,即部署多版本mysql
3.注意事項
1.與現有mysql安裝目錄不能相同
2.與現有mysql資料庫檔案目錄不能相同
3.與現有msql的啟動埠不能相同(預設3306)
4.與現有mysql的服務的socket不能相同,即my.cnf裡面的socket的設定不能一樣
5.與現有mysql的服務的pid檔案不能相同,即my.cnf裡面的pid-filed設定不能一樣
4.步驟
1.建立使用者組和使用者&建立目錄
建立使用者組和使用者
groupadd mysql
useradd -g mysql mysql
建立目錄
mkdir /home/mysql/base
mkdit /home/mysql/data
chrom -R mysql:mysql base
chrom -R mysql:mysql data
2.下載原始碼包&解壓
下載地址:https://dev.mysql.com/downloa…
選項Select Operating System:linux-generic
wget https://dev.mysql.com/get/Dow…
tar -zxvf mysql-5.6.37-linux-glibc2.12-x86_64.tar.gz
cp -r mysql-5.6.37-linux-glibc2.12-x86_64 /home/mysql/base //複製解壓後的包
cd /home/mysql/base
mv mysql-5.6.37-linux-glibc2.12-x86_64 mysql-5.6.37 //重新命名資料夾
3.安裝
cd /home/mysql/base/mysql-5.6.37/scripts
mysql_install_db –basedir=/home/mysql/base/mysql-5.6.37 –datadir=/home/mysql/data/5.6.37/st01 –user=mysql
安裝後可檢視資料庫目錄有如下檔案,建立另一個埠的mysql服務可直接複製這個資料夾
cd /home/mysql/data/5.6.37/st01
ll -ah
total 110600
-rw-rw—-. 1 mysql mysql 12582912 Sep 21 23:19 ibdata1
-rw-rw—-. 1 mysql mysql 50331648 Sep 21 23:19 ib_logfile0
-rw-rw—-. 1 mysql mysql 50331648 Sep 21 23:19 ib_logfile1
drwx——. 2 mysql mysql 4096 Sep 21 23:19 mysql
drwx——. 2 mysql mysql 4096 Sep 21 23:19 performance_schema
drwx——. 2 mysql mysql 6 Sep 21 23:19 test
4.配置檔案設定
複製一份配置檔案
cd /home/mysql/data/mysql-5.6.37/st01
cp /home/mysql/base/5.6.16/support-files/my-default.cnf ./my.cnf
修改配置檔案
vi ./my.cnf
port = 9701
socket = /home/mysql/data/5.6.37/st01/mysql.sock
basedir = /home/mysql/base/5.6.37
datadir = /home/mysql/data/5.6.37/st01
……
[mysqld_safe]
log-error = /home/mysql/data/5.6.37/st01/mysqld.log
pid-file = /home/mysql/data/5.6.37/st01/mysql.pid
5.服務管理
1.啟動服務
/home/mysql/base/5.6.37/bin/mysqld_safe –defaults-file=./my.cnf –user=mysql&
2.檢視服務
ps檢視mysql程式
ps -ef | grep mysql
也可以檢視log資訊看啟動情況
cat /home/mysql/data/5.6.37/st01/mysqld.log
3.關閉服務
/home/mysql/base/5.6.37/bin/mysqladmin -P 9701 -S /home/mysql/data/5.6.37/st01/mysql.sock -u root -p shutdown
暴力關閉(有資料丟失風險)
ps -ef | grep 埠號 //命令結果第二列為程式號
kill -9 程式號 //強制殺掉程式
6.使用者設定
6.1 本地訪問
安裝好後,mysql預設只有root使用者(此使用者是mysql使用者,而非Linux使用者),並且沒有密碼
1.給預設的root使用者設定密碼(設定後只允許localhost本地訪問)
/home/mysql/base/5.6.37/bin/mysqladmin -P 9701 -S /home/mysql/data/5.6.37/st01/mysql.sock -u root password `password123`
2.給預設的root使用者修改密碼
/home/mysql/base/5.6.37/bin/mysqladmin -P 9701 -S /home/mysql/data/5.6.37/st01/mysql.sock -u root -p password `password1234`
6.2 遠端訪問
1.進入mysql
/home/mysql/base/5.6.37/bin/mysql -P 9701 -S /home/mysql/data/5.6.37/st01/mysql.sock -u root -p
按提示輸入密碼
2.1 方法一:grant 賦予使用者root所有許可權
grant 許可權1,許可權2,…許可權n on 資料庫名稱.表名稱 to 使用者名稱@使用者地址 identified by ‘連線口令’;
mysql>grant all privileges on *.* to `root`@`%` identified by `password` with grant option;
2.2 方法二:root對應的host成%,表示可以任意IP地址登入
mysql>update user set host = `%` where user = `root`;
3.重新整理配置後退出
mysql>flush privileges;
mysql>exit;