1. 程式人生 > >mysql主從複製詳細配置說明

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

[email protected]'192.168.1.73' IDENTIFIED BY '123456';

其中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;

主庫掛了話,從庫會每隔一定時間去連線主庫

下面為具體的資料庫配置檔案描述說明: