MySQL是一個主流的關系型數據庫管理系統,其中復制(Replication)是MySQL具有的強大功能之一。它可以將一個MySQL數據庫的數據復制到另一個或多個MySQL數據庫中,以便進行負載平衡或容錯性能優化。
在MySQL中,復制功能是通過將二進制日志(Binary Log)中的數據事件復制到其他MySQL服務器上來實現的。因此,在復制之前需要啟用二進制日志功能。
# 定義二進制日志文件位置及名稱 log-bin=/var/log/mysql/mysql-bin.log # 定義日志的格式為mixed(可通過下面的命令查看當前服務器的日志格式) # SHOW GLOBAL VARIABLES LIKE 'binlog_format'; binlog-format=mixed # 定義要復制的服務器IP及用戶名密碼 server-id=10 log-slave-updates=1 relay-log=/var/lib/mysql/relay-bin relay-log-index=/var/lib/mysql/relay-log.index replicate-do-db=my_database replicate-ignore-db=mysql replicate-ignore-table=my_database.unimportant_table replicate-wild-do-table=my_database.important_% replicate-wild-ignore-table=my_database.unimportant_% replicate-do-table=my_database.only_this_table replicate-do-table=my_database.this_table,my_database.that_table replicate-ignore-table=my_database.unimportant_table replicate-wild-do-table=my_database.important_% replicate-wild-ignore-table=my_database.unimportant_% master-host=192.168.1.1 master-user=replicator master-password=secret
上面的代碼展示了如何在MySQL中啟用復制功能并定義復制相關的參數。
在啟用復制之后,可以使用以下命令將MySQL的復制日志保存到本地的記事本中:
mysqlbinlog -h master-host -u replicator -p secret \ --read-from-remote-server --skip-gtids \ /var/log/mysql/mysql-bin.000001 >/home/user1/replication.log
以上命令中,-h
參數指定主數據庫的IP地址,-u
參數指定用戶名,-p
參數指定密碼。而--skip-gtids
參數是指“跳過所有GTID”,而/var/log/mysql/mysql-bin.000001
是指要讀取的二進制日志文件。
通過以上步驟和命令,我們可以輕松地將MySQL數據庫中的數據復制到其他MySQL服務器或本地記事本中。
上一篇mysql復制字段
下一篇css設置div會改變子