mysql主主同步指定庫的指定表(version 5.1~5.7)

來源:互聯網
上載者:User

標籤:col   socket   form   日誌   授權   star   結果   一句話   art   

server1: ip:1.1.1.1 

server2: ip:1.1.1.2

<1> 修改server1的設定檔vim /etc/my.cnf

[mysqld] vim /etc/my.cnf datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock symbolic-links=0 log-error=/var/log/mysqld.log pid-file=/var/run/mysqld/mysqld.pid log_bin=bin_log server-id=1 #指定binlog記錄的庫,其他庫就不記錄了可以用,來分隔指定多個庫 binlog-ignore-db = mysql   binlog-ignore-db = performance_schema
binlog-ignore-db = information_schema binlog-do-db=mobi  replicate-do-db=mobi replicate-do-table=mobi.test1 # 允許複製主服務的庫的哪一張表,需要多張表就要寫多行 replicate-do-table=mobi.test2

<2>修改server2的設定檔vim /etc/my.cnf

[mysqld] vim /etc/my.cnf datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock symbolic-links=0 log-error=/var/log/mysqld.log pid-file=/var/run/mysqld/mysqld.pid log_bin=bin_log server-id=2 binlog-do-db=mobi  binlog-ignore-db = mysql   binlog-ignore-db = performance_schema
binlog-ignore-db = information_schema replicate-do-db=mobi replicate-do-table=mobi.test1 replicate-do-table=mobi.test2 #除了server-id不同之外和server1幾乎一樣的配置 <3>分別進入server1和server2的myqsql命令列終端 server1: mysql>grant replication slave on *.* to [email protected]"1.1.1.2" identified by "password" ; #授權一個可以串連主庫的使用者。
                           mysql>show master status;  #查看當前使用的記錄檔(file)以及記錄位移量(position),記錄下來等下做同步時要用。
                           例如顯示結果為:file為binlog.000001        position為253
server2: mysql>grant replication slave on *.* to [email protected]"1.1.1.1" identified by "password" ; #授權一個可以串連主庫的使用者。
                           mysql>show master status;  #查看當前使用的記錄檔(file)以及記錄位移量(position),記錄下來等下做同步時要用。
                           例如顯示結果為:file為binlog.000001        position為322 <4>分別執行同步命令  server1: mysql>change master to  master_host="1.1.1.2" ,master_user="slave" ,master_password="password",
                                   ->master_ log_file="binlog.000001",master_log_pos=322;
    
mysql>start slave; server2: mysql>change master to  master_host="1.1.1.1" ,master_user="slave" ,master_password="password",                                    ->master_ log_file="binlog.000001",master_log_pos=253;

mysql>start slave;   <5>查看同步情況,進入server1和server2分別輸入一下命令 mysql>show slave status\G; #如果IO/SQL這兩個線程都是YES說明成功了  <6>歸納總結: 以上操作如果不同步原因有很多,首先有可能因為修改設定檔忘記重啟服務而沒有組建記錄檔,導致同步不成功。還有一種原因是主庫已經有資料,而從庫上沒有這些資料,這樣的話即使配置沒有出錯同步也會失敗,最好的辦法就是利用mysqldump匯出主庫中的資料儲存到一個.sql檔案內,然後在拷貝這些資料到從庫上,這些做完之後在做同步就行了。如果要做主主結構只需要反過來配置一遍即可。如果要做主主從這樣的結構的話需要在中繼的那個節點的設定檔中加入 log-slave-updates=on這麼一句話。舉個例子,三個節點分別為master1:1.1.1.1。    master2:1.1.1.2 。  slave:1.1.1.3。 master1和master2互為主主結構,master2還是slave的主,那麼這個新加的配置log-slave-updates=on就要在master2上配置。        

mysql主主同步指定庫的指定表(version 5.1~5.7)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.