MySQL主從架構是在分布式環境下使用最多的數據庫方案,它可以減少讀寫壓力,提高數據庫運行效率。但是,在設置主從架構時,經常需要忽略一些表,導致數據同步出現問題。
MySQL主從同步忽略表的方法如下:
# 編輯MySQL主服務器的/etc/my.conf配置文件,添加以下內容: replicate-ignore-table = databasename.tablename # 重啟MySQL服務 service mysqld restart
這樣,MySQL主從服務器之間就會忽略這個表的數據同步了。但是,如果需要同步忽略的表,我們可以通過以下幾個步驟實現:
# 在MySQL從服務器上,進入MySQL終端(需要輸入主從服務器的用戶名和密碼): mysql -u username -p # 輸入以下命令將MySQL從服務器設置為主服務器: STOP SLAVE; CHANGE MASTER TO MASTER_HOST='ip address of master server', MASTER_USER='user', MASTER_PASSWORD='password', MASTER_LOG_FILE='log_name', MASTER_LOG_POS=log_pos; START SLAVE; # 接著,使用以下命令重新同步被忽略的表: SET SQL_LOG_BIN=0; # 將忽略表在MySQL從服務器上的數據刪除 DELETE FROM databasename.tablename; # 將忽略表在MySQL主服務器上的數據導出 mysqldump -u username -p databasename tablename >tablename.sql # 將忽略表在MySQL從服務器上的數據導入 mysql -u username -p databasename< tablename.sql # 完成導入后,將MySQL從服務器設置回從服務器 STOP SLAVE; CHANGE MASTER TO MASTER_HOST='ip address of master server', MASTER_USER='user', MASTER_PASSWORD='password'; START SLAVE;
通過以上方法,我們可以實現在MySQL主從服務器中忽略特定表后,重新同步它們的數據。
下一篇2022 vue面試題