MySQL主從復制是MySQL中非常重要的一個特性,可以使得多個MySQL服務器間實現數據的同步。其中,主庫可以進行寫操作,從庫則只能進行讀操作。主從復制在高并發、大數據量場景下非常常見。
在MySQL主從復制中,主從庫的復制過程可以分為兩個步驟:ioconnecting和sqlrunning。其中,ioconnecting(IO線程)是主庫將二進制日志事件傳送到從庫的過程。SQL線程則是從庫將收到的二進制日志解析成SQL語句并執行的過程。
# MySQL 主從復制配置示例,ioconnecting部分 # 主庫配置 # 啟用二進制日志 log-bin=mysql-bin # 允許從庫連接 server-id=1 binlog-do-db=db1 # 配置需要同步的數據庫 # 從庫配置 server_id=2 # 配置主庫的連接信息,需要連接的主庫的IP、用戶名、密碼 # master_host='10.0.0.1', master_user='rep', master_password='password' # 需要同步的數據庫,需要與主庫binlog-do-db的值相同 replicate-do-db=db1 # 連接主庫并開始同步 start slave;
在主庫上,首先需要啟用二進制日志,這樣才能記錄下所有的寫操作。然后,使用server-id
設置主庫的ID,使用binlog-do-db
指定需要同步的數據庫。在從庫上,需要配置從庫的ID并且使用replicate-do-db
指定需要同步的數據庫,master_host
、master_user
、master_password
則用于連接主庫。
最后,在從庫上執行start slave
命令,連接主庫并開始同步。在主庫上,可以使用show master status
查看當前二進制日志的狀態,而在從庫上,可以使用show slave status
查看當前從庫的同步狀態信息。
上一篇dockerv多目錄
下一篇dockerv根目錄