MYSQL主從庫同步配置過程
為了實現網站數據庫的異地備份,采用了MySQL數據庫主從同步配置,需要兩台服務器分別作為主從庫,當主庫發生增刪改等操作,會實時反映到從庫,我的個人服務器配置如下:
主庫為centos release 6.7 (final) + mysql 5.5.42,ip為192.168.3.11
從庫為centos release 6.7 (final) + mysql 5.5.42,ip為192.168.3.10
數據庫內均無數據,關閉主從庫的iptables(chkconfig iptables off)。
1、主庫配置
修改主庫MySQL配置文件/ect/my.cnf:
[mysqld]
log-bin=mysql-bin
server-id=1
#skip-networking
#bind-address
server-id用來標識MySQL數據庫,log-bin開啟二進制日志,注釋掉skip-networking和bind-address。 重啟主庫MySQL。
2、賬號配置
在主庫服務器上,新建一個用於同步的賬號。
mysql> create user 'user'@'%.domain.com' identified by 'password';
mysql> grant repliction slave on *.* to 'user'@'%.domain.com';
新建的用戶user@%.domain.com,賦予slave權限。
3、主庫狀態
mysql> show master status;
+------------------+-----------+--------------+------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+-----------+--------------+------------------+
| mysql-bin.000009 | 480 | | |
+------------------+-----------+--------------+------------------+
1 row in set (0.00 sec)
記錄下File和Position的值,之后暫時不要操作主庫,防止主庫狀態發生變化。
4、從庫配置
修改主庫MySQL配置文件/ect/my.cnf:
[mysqld]
log-bin=mysql-bin
server-id=2
注意主從庫的server-id不要相同。
將主庫信息導入到從庫中:
mysql> CHANGE MASTER TO
-> MASTER_HOST='192.168.3.11',
-> MASTER_USER='usere',
-> MASTER_PASSWORD='password',
-> MASTER_LOG_FILE='mysql-bin.000009',
-> MASTER_LOG_POS=480;
啟動從庫slave同步:
mysql> start slvae;
5、從庫狀態
mysql> show slave status;
查看 Slave_IO_Running | Slave_SQL_Running,如果出現的結果是Yes | Yes,說明mysql主從配置成功完成了。
6、驗證同步
在主庫新建數據庫,導入sql腳本后,查看從庫也做了相應的改變,說明mysql主從同步成功。
參考資料:
Slaves: https://dev.mysql.com/doc/refman/5.5/en/replication-howto-newservers.html
Mysql主從復制實踐手冊: http://www.open-open.com/lib/view/open1365687211734.html