虛擬機(jī)安裝 CentOS
這里要安裝 CentOS 虛擬機(jī)最小化安裝擂煞。
詳細(xì)步驟:略。
安裝完之后趴乡,配置網(wǎng)絡(luò)对省,參考文檔:
[VMWare 安裝 CentOS7 后虛擬網(wǎng)絡(luò)配置]
CentOS 上安裝 MySQL
參考文檔:
[CentOS7 安裝 MySQL 5.7]
配置主從
克隆一臺(tái)虛擬機(jī)
由于是本地測(cè)試,所以選擇鏈接克隆即可晾捏,節(jié)省時(shí)間和物理時(shí)間蒿涎。
配置IP
將兩臺(tái)虛擬的靜態(tài)IP配置在同一網(wǎng)段下,不同IP,例如:192.168.95.150 和 192.168.95.151惦辛。
最好在設(shè)置一下主機(jī)名劳秋,以便識(shí)別:
hostnamectl set-hostname [主機(jī)名]
配置 Master 主服務(wù)器
開啟二進(jìn)制日志狀態(tài):
重啟 MySQL:
service mysqld restart
查看二進(jìn)制日志開啟狀態(tài):
創(chuàng)建用戶:
給用戶授權(quán):
查看 Master 狀態(tài):
配置 Slave 從服務(wù)器
編輯 /etc/my.cnf
,添加server-id
:
連接 Master 主服務(wù)器:
指定主庫(kù)的地址、用戶名以及密碼胖齐,還可以指定端口MASTER_POST
,更多參數(shù)參考 MYSQL文檔俗批。
MASTER_LOG_FILE
以及MASTER_LOG_POS
這兩個(gè)參數(shù)指的是主庫(kù)的日志文件以及文件位置,參照主庫(kù)的狀態(tài)命令:
SHOW MASTER MASTER;
啟動(dòng) Slave 從服務(wù)器:
start slave;
查看從服務(wù)器狀態(tài):
show slave status \G;
測(cè)試
在主庫(kù)中新建一個(gè)數(shù)據(jù)庫(kù)市怎,然后在從庫(kù)中查看:
// Master 新建數(shù)據(jù)庫(kù)
CREATE DATABSES test;
// SLAVE 查看數(shù)據(jù)庫(kù)
SHOW DATABASES;
如果一致,則配置成功辛慰。
如果不一致区匠,則可以參考下方的錯(cuò)誤提示。
錯(cuò)誤提示
UUID 重復(fù)
我使用了虛擬機(jī)的克隆功能帅腌,所以導(dǎo)致了主庫(kù)和從庫(kù)的UUID重復(fù)的問題驰弄。
查看UUID:
SHOW VARIABLES LIKE 'server_uuid';
這種問題在真實(shí)環(huán)境下應(yīng)該是不存在的,除非文件完全拷貝速客。
官方文檔上說(shuō)戚篙,這個(gè) uuid 是只讀的,不建議修改溺职。
如果一定要修改岔擂,可以查找auto.cnf
文件位喂,然后修改它。
修改之后乱灵,重啟 MySQL塑崖。
主從配置成功的前提是:server_id 以及 server_uuid 必須不同。
1236 錯(cuò)誤
查看日志可以得到以下這般的描述:
Last_IO_Error: Got fatal error 1236 from master when reading data from binary log: 'Could not find first log file name in binary log index file'痛倚。
其他同學(xué)遇到的問題规婆,意外重啟或誤刪文件引起的。這里要注意蝉稳,我們?cè)谂渲玫倪^程中抒蚜。
解決的思路如下:
重啟主庫(kù)
給從庫(kù)重新授權(quán)
-
在從庫(kù)執(zhí)行以下命令
slave stop; reset slave; slave start;