Linux---一臺主機部署多版本mysql服務和mysql實例

1.背景

服務器上有mysql5.5.38,要求升級爲mysql5.6mysql

2.方法

爲了下降影響範圍,可持續做業,決定在現有基礎上部署mysql5.6,即部署多版本mysqllinux

3.注意事項

1.與現有mysql安裝目錄不能相同
2.與現有mysql數據庫文件目錄不能相同
3.與現有msql的啓動端口不能相同(默認3306)
4.與現有mysql的服務的socket不能相同,即my.cnf裏面的socket的設置不能同樣
5.與現有mysql的服務的pid文件不能相同,即my.cnf裏面的pid-filed設置不能同樣sql

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-genericsocket

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服務可直接複製這個文件夾ide

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.配置文件設置

複製一份配置文件orm

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;
相關文章
相關標籤/搜索