MySQL主從服務器配置方法及注意事項
主服務器 IP:192.168.0.1
從服務器IP:192.168.0.2
1、打開主服務器的mysql 配置文件 (默認linux下為:my.cnf,Windows下為:my.ini)
2、找到[mysqld]節點,添加或修改成以下內容。
server-id=1 #服務器ID
log-bin=mysql-bin01
binlog-do-db=test #這里設置需要在主服務器記錄日志的數據庫,只有在這里設置了的數據庫才能被復制到從服務器
binlog-ignore-db=mysql #這里設置在主服務器上不記度日志的數據庫
expire_logs_days=10
3、進入主服務器的mysql控制臺,執行 show master status;
4、執行 SHOW VARIABLES LIKE "%log_bin%"; 查看主服務器的binlog是否開啟。 log_bin 這項 為 ON 的話就表示已開啟。
5、在主服務器上創建從服務器使用的帳號并給予相應的權限(主要是replication slave權限),為避免配置過程中出現問題,可以也給予 reload,super權限,配好后再跟據實際情況取消。
grant replication slave, reload, super on *.* to 'backup'@'192.168.0.1' identified by '123456'; #backup是用戶名,123456是密碼
6、至此主服務器已設置完成。
7、接下來打開從服務器的mysql配置文件。在[mysqld]節點下,添加或修改成。
server-id=2
log-bin=mysql-bin02
replicate-do-db=test
replicate-ignore-db=mysql
expire_logs_days=10#下面的配置只在mysql 5.1.7 之前的版本才有效。
master-host=192.168.0.1
master-user=backup
master-password=123456
master-port=3306
8、如果你是mysql 5.1.7之后版本的話,要進入從服務器的mysql控制臺,使用命令設置。
change master to
master_host='192.168.0.1',
master_user='backup',
master_password='123456',
master_log_file='mysql-bin01.000001', #此處填寫主服務器的日志文件名,文章上方主服務狀態信息中的File的值,上面已用紅色強調。
master_log_pos=4887; #此處填寫主服務器日志文件記錄的位置,文章上方主服務狀態信息中的Position的值,上面已用紅色強調。
9、執行上面命令后,再執行start slave,用啟動從服務器模式。
10、可以使用 show processlist 查看進程,進程狀態如和下方紅色內容一樣的話,說明從服務器運行正常,已經連接上主服務器,開始接受并執行日志。
11、然后最好重啟一下從服務器的MySQL。
12、在從服務器的MySQL控制臺,使用show slave status; 命令,查看從服務器的運行狀態。顯示結果中以下兩項都為Yes的話,那說明正常。
- Slave_IO_Running: Yes
- Slave_SQL_Running: Yes
13、在主服務器上Test數據庫創建表,寫入數據,然后到從服務器上查看Test數據庫有沒有進行同步。
至此如果同步沒問題的話就完結了,如果有錯誤的話,恭喜你,可以等我下一章來介紹一些常見錯誤及如何解決。