mysql主從複製詳細配置說明
主從資料庫配置的前題是:兩個資料庫的版本要一致
1、修改主MySQL的配置 如主資料庫的IP: 192.168.1.72
[[email protected] etc] vi /home/rpm/mysql/mysql5.5/my.cnf
新增以下配置
server-id=72 #一般以IP的後兩位取值
log-bin=mysql-bin #這個一定得設定,否則沒有日誌的話,從資料庫上會報錯
重啟資料庫
/etc/init.d/mysql restart
建立主從複製的帳號: 192.168.1.73從庫IP
在mysql目錄下執行如下語句:
mysql> GRANT REPLICATION SLAVE,RELOAD,SUPER ON *.* TO
其中mysqlbackup 是備份時用的資料庫使用者名稱
123456 是備份時用的資料庫使用者名稱對應的密碼
*.*表示所有庫所有表,庫也是可以指定具體的庫和表進行復制,如test.test1(test庫的test1表);
正確的狀態如下:
mysql> SHOW MASTER STATUS;
+------------------+----------+--------------+------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000031 | 991| | |
+------------------+----------+--------------+------------------+
1 row in set (0.00 sec)
修改從庫配置: 192.168.1.73從庫IP
[[email protected] ~]# vi /home/rpm/mysql/mysql5.5/my.cnf
新增語句
log-bin = mysql-bin
server_id = 73
重啟資料庫
/etc/init.d/mysql restart
執行mysql> CHANGE MASTER TO
-> MASTER_HOST='192.168.1.72',
-> MASTER_USER='mysqlbackup',
-> MASTER_PASSWORD='123456',
-> MASTER_PORT=3306,
-> MASTER_LOG_FILE='mysql-bin.000035',
-> MASTER_LOG_POS=449,
-> MASTER_CONNECT_RETRY=10;
結果如下:
Query OK, 0 rows affected (0.02 sec)
測試主從是否配置成功。
###啟動Slave 同步程序####
mysql> start slave;
Query OK, 0 rows affected (0.00 sec)
####主從同步檢查####
mysql> show slave status \G
###到這裡 整個MYSQL主從的複製就完成了###
如果在使用過程中從庫掛了,需要手動啟動 start slave;
主庫掛了話,從庫會每隔一定時間去連線主庫
下面為具體的資料庫配置檔案描述說明: