三.Mysql-5.7單獨部署
1.修改配置檔案,先單獨部署5.7。目前已經運作了一個資料庫,那将/etc/my.cfn原有配置拷貝的一旁,等後面再用。
cp -p /etc/my.cnf /tmp/my.cnf.bak
原原來的删除,先将5.7初始化再說
vim /etc/my.cnf
-
[mysqld_safe]
-
nice =
-
pid-file =
/data/seven/mysqld.pid
-
[mysqld]
-
bind-address =
0.0.0.0
-
user = mysql
-
basedir =
/usr/local/mysql-5.7
-
datadir =
/data/seven
-
socket =
/data/seven/mysql.sock
-
port =
3307
-
log-error =
/data/seven/mysql.log
2.初始化
/usr/local/mysql-5.7/bin/mysqld --initialize --user=mysql --datadir=/data/seven --basedir=/usr/local/mysql-5.7
沒有任何輸出就是成功了
四.啟動Mysql-5.7
這裡将原有的5.6和新的5.7都納入multi的管理
1.添加多版本控制
vim /etc/my.cnf
-
[mysql]
#用戶端
-
default-character-set=utf8mb4
-
[mysqld_multi]
-
#填寫任意一個版本的位置就行
-
mysqld =
/usr/local/mysql-5.6/bin/mysqld_safe
-
mysqladmin =
/usr/local/mysql-5.6/bin/mysqladmin
-
#multi的日志
-
log =
/tmp/mysql_multi.log
-
user = multi #在每個賬号設定一個賬戶,有管理權限的,讓multi可以控制資料庫的關閉重新開機
-
password = multiadmin
-
#3306這個是原有的配置,這裡整個拷貝過來即可
-
[mysqld3306]
-
port =
3306
-
socket=/usr/local/mysql/mysql.sock
-
basedir=/usr/local/mysql
-
datadir=/usr/local/mysql/data
-
max_connection=200
-
character-set-server=utf8
-
default-storage-engine=INNODB
-
lower_case_table_name=1
-
max_allowed_packet=16M
-
log-error=/var/log/mysql/mysql.log
-
pid-file=/var/log/mysql/mysql.pid
-
bind-address =
0.0.0.0
-
#3307的,多加了一個pid-file。
-
[mysqld3307]
-
#跳過密碼,因為5.7密碼寫到日志裡了,但這裡沒看到
-
skip-grant-tables
-
bind-address =
0.0.0.0
-
user = mysql
-
basedir =
/usr/local/mysql-5.7
-
datadir =
/data/seven
-
socket =
/data/seven/mysql.sock
-
port =
3307
-
log-error =
/data/seven/mysql.log
-
pid-file =
/data/seven/mysqld.pid
2.使用multi,這是一個管理的bash腳本,将他複制過來
cp /usr/local/mysql-5.7/support-files/mysqld_multi.server /etc/init.d/
chmod +x /etc/init.d/mysqld_multi.server
要修改一下腳本,預設目錄不符合目前的配置
vim /etc/init.d/mysqld_multi.server
basedir=/usr/local/mysql-5.6bindir=/usr/local/mysql-5.6/bin
複制
3.使用
檢視配置的3006和3307是否識别到了
/etc/init.d/mysqld_multi.server report
這裡可以看到3306是已經啟動的
啟動單獨的3307端口
/etc/init.d/mysqld_multi.server start 3307
已經啟動了
驗證
netstat -unltp | grep :3306
netstat -unltp | grep :3307
連接配接
mysql -S /data/seven/mysql.sock
也可以用ip+端口的方式連接配接,如果用socket連接配接,那端口和ip就沒意義了。使用的将是本地登陸
mysql -uroot -P3307 -h127.0.0.1
連接配接修改,這裡要和上面不同,5.7版本有點小差别
mysql -uroot -P3307 --socket=/data/seven/mysql.sock
mysql>
use mysql;
mysql>
UPDATE user SET authentication_string=PASSWORD("123456") WHERE user='root';
五.muliti使用
啟動全部執行個體:
/usr/local/mysql/bin/mysqld_multi start
檢視全部執行個體狀态:
/usr/local/mysql/bin/mysqld_multi report
啟動單個執行個體:
/usr/local/mysql/bin/mysqld_multi start 3306
停止單個執行個體:
/usr/local/mysql/bin/mysqld_multi stop 3306
檢視單個執行個體狀态:
/usr/local/mysql/bin/mysqld_multi report 3306