MySQL5.6 Replication主從複製(讀寫分離) 配置完整版二

第九步:創建主數據庫的快照文件

[root@master ~]# cd /usr/bin/

# ./mysqldump -uroot -p -h127.0.0.1 -P3306 –all-databases –triggers –routines –events >>/mnt/windows/all.sql

上面命令中的紅色部分,是一個共享目錄,這個目錄可以同時被主數據庫服務器和從數據庫服務器訪問到。

如果沒有這樣的共享目錄,可以將all.sql放在其它任何目錄下,然後使用scp命令複製到遠程從數據庫服務器的某個目錄中

這條命令的執行時間根據數據量的不同,會有所不同,如果主數據庫的數據量很大,可能需要很長時間,那麼在這種情況下,就最好在

晚上沒有業務的時候進行這個操作,否則第七步中的鎖表操作會對業務系統造成很大的影響

第十步:解鎖主數據庫的鎖表操作

[root@master ~]# mysql -uroot -p (本命令在主數據庫服務器上執行)

mysql> unlock tables;

Query OK, 0 rows affected (0.00 sec)

第十一步:在從數據庫服務器上導入第七步創建的快照文件到從數據庫中

[root@slave ~]# mysql -uroot -p -h127.0.0.1 -P3306 < /mnt/windows/all.sql

第十二步:在從數據庫服務器上設置主數據庫服務器向從數據庫服務器同步

[root@slave ~]# mysql -uroot -p

mysql> change master to master_host = ‘192.168.1.100’,master_user=’repl’,master_password=’111111′,master_log_file=’mysqlmaster-bin.000004′,master_log_pos=327;

注意:紅色部分的值,是在第八步中查出來的,這裡不能弄錯

第十三步:啟動從數據庫複製線程

mysql> start slave;

Query OK, 0 rows affected (0.01 sec)

第十四步:查詢從數據庫的複製線程狀態

mysql> show slave status \G

*************************** 1. row ***************************

Slave_IO_State: Waiting for master to send event

Master_Host: 192.168.1.100

Master_User: repl

Master_Port: 3306

Connect_Retry: 60

Master_Log_File: mysqlmaster-bin.000004

Read_Master_Log_Pos: 327

Relay_Log_File: slave-relay-bin.000002

Relay_Log_Pos: 289

Relay_Master_Log_File: mysqlmaster-bin.000004

Slave_IO_Running: Yes

Slave_SQL_Running: Yes

Replicate_Do_DB:

Replicate_Ignore_DB:

Replicate_Do_Table:

Replicate_Ignore_Table:

Replicate_Wild_Do_Table:

Replicate_Wild_Ignore_Table:

Last_Errno: 0

Last_Error:

Skip_Counter: 0

Exec_Master_Log_Pos: 327

Relay_Log_Space: 462

Until_Condition: None

Until_Log_File:

Until_Log_Pos: 0

Master_SSL_Allowed: No

Master_SSL_CA_File:

Master_SSL_CA_Path:

Master_SSL_Cert:

Master_SSL_Cipher:

Master_SSL_Key:

Seconds_Behind_Master: 0

Master_SSL_Verify_Server_Cert: No

Last_IO_Errno: 0

Last_IO_Error:

Last_SQL_Errno: 0

Last_SQL_Error:

Replicate_Ignore_Server_Ids:

Master_Server_Id: 1

Master_UUID: 2e5e1b22-f0a9-11e3-bbac-000c297799e0

Master_Info_File: /var/lib/mysql/master.info

SQL_Delay: 0

SQL_Remaining_Delay: NULL

Slave_SQL_Running_State: Slave has read all relay log; waiting for the slave I/O thread to update it

Master_Retry_Count: 86400

Master_Bind:

Last_IO_Error_Timestamp:

Last_SQL_Error_Timestamp:

Master_SSL_Crl:

Master_SSL_Crlpath:

Retrieved_Gtid_Set:

Executed_Gtid_Set:

Auto_Position: 0

1 row in set (0.00 sec)

如果Slave_IO_Running和Slave_SQL_Running兩項都為yes,就表示主從複製配置成功.

下面可以開始測試配置是否成功,首先在主數據庫的test數據庫中新建一張表,然後插入幾條數據,然後到從數據庫看看是否同步過來。

注意:當從數據庫有大量的查詢時,可以暫時將從數據庫的複製線程關閉掉,等查詢量降下來,再打開,這樣也不會丟失數據。

以下文章點擊率最高

Loading…

     

如果這文章對你有幫助,請掃左上角微信支付-支付寶,給於打賞,以助博客運營