<pre id="3mdv2"><nav id="3mdv2"><i id="3mdv2"></i></nav></pre>
<p id="3mdv2"><strong id="3mdv2"><small id="3mdv2"></small></strong></p>
<td id="3mdv2"><option id="3mdv2"></option></td>

      <table id="3mdv2"><strike id="3mdv2"></strike></table>

      長治網站建設
      Mysql 5.6主從同步配置與解決方案

      主庫IP:192.168.1.10

      從庫IP:192.168.1.11

      1、主庫配置編輯my.cnf:

      復制代碼
      # 啟用二進制日志
      log_bin = mysql-bin
      
      server-id = 111 log-bin-index=mysql-bin.index
      
      sync_binlog=1 binlog_format=mixed
      
      binlog-do-db = testdb //同步數據庫 binlog-ignore-db = mysql
      
      binlog-ignore-db = performance_schema
      
      binlog-ignore-db = information_schema
      
      binlog_checksum=NONE
      復制代碼

      2、創建同步賬號

      mysql> grant replication slave on *.* to slave@192.168.1.11 identified by '123456' 

      3、主庫狀態

      復制代碼
      mysql> flush privileges;
      mysql> show master status; +------------------+----------+--------------+------------------+
      | File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |
      +------------------+----------+--------------+------------------+
      | mysql-bin.000008 | 337 |              |                  |
      +------------------+----------+--------------+------------------+
      復制代碼

      記錄下二進制日志文件名和位置

      4、從庫配置文件配置

       

      復制代碼
      # [必須]啟用二進制日志
      log-bin=mysql-bin   
      # [必須]服務器唯一ID,默認是1,一般取IP最后一段
      server-id=222 relay-log-index = slave-relay-bin.index
      
      relay-log = slave-relay-bin
      
      sync_master_info = 1 sync_relay_log = 1 sync_relay_log_info = 1
      復制代碼

       

      5、配置連接主庫

      mysql> change master to master_host='192.168.1.10',master_user='slave',master_password='123456', master_log_file='mysql-bin.000008',master_log_pos=337;

      6、開始同步

      mysql> start slave;
      mysql> show slave statusG;

      7、正常狀態

      Slave_IO_Running: Yes
      Slave_SQL_Running: Yes

      8、解決主從不同步

      先上Master庫:

      mysql>show processlist;   查看下進程是否Sleep太多。發現很正常。

      show master status; 也正常。

      mysql> show master status;
      +-------------------+----------+--------------+-------------------------------+
      | File              | Position | Binlog_Do_DB | Binlog_Ignore_DB              |
      +-------------------+----------+--------------+-------------------------------+
      | mysqld-bin.000001 |     3260 |              | mysql,test,information_schema |
      +-------------------+----------+--------------+-------------------------------+
      1 row in set (0.00 sec)

      再到Slave上查看

      mysql> show slave statusG                                                

      Slave_IO_Running: Yes

      Slave_SQL_Running: No

      可見是Slave不同步

      下面介紹兩種解決方法:

      方法一:忽略錯誤后,繼續同步

      該方法適用于主從庫數據相差不大,或者要求數據可以不完全統一的情況,數據要求不嚴格的情況

      解決: 

      stop slave;

      #表示跳過一步錯誤,后面的數字可變

      set global sql_slave_skip_counter =1;

      start slave;

      之后再用mysql> show slave statusG  查看:

      Slave_IO_Running: Yes

      Slave_SQL_Running: Yes

      ok,現在主從同步狀態正常

      方式二:重新做主從,完全同步

      該方法適用于主從庫數據相差較大,或者要求數據完全統一的情況

      解決步驟如下:

      1.先進入主庫,進行鎖表,防止數據寫入

      使用命令:

      mysql> flush tables with read lock;

      注意:該處是鎖定為只讀狀態,語句不區分大小寫

      2.進行數據備份 

      #把數據備份到mysql.bak.sql文件

      [root@server01 mysql]#mysqldump -uroot -p -hlocalhost > mysql.bak.sql

      這里注意一點:數據庫備份一定要定期進行,確保數據萬無一失

      3.查看master 狀態

      mysql> show master status;
      +-------------------+----------+--------------+-------------------------------+
      | File              | Position | Binlog_Do_DB | Binlog_Ignore_DB              |
      +-------------------+----------+--------------+-------------------------------+
      | mysqld-bin.000001 |     3260 |              | mysql,test,information_schema |
      +-------------------+----------+--------------+-------------------------------+
      1 row in set (0.00 sec)

      4.把mysql備份文件傳到從庫機器,進行數據恢復

      #使用scp命令

      [root@server01 mysql]# scp mysql.bak.sql root@192.168.128.11:/tmp/

      5.停止從庫的狀態

      mysql> stop slave;

      6.然后到從庫執行mysql命令,導入數據備份

      mysql> source /tmp/mysql.bak.sql

      7.設置從庫同步,注意該處的同步點,就是主庫show master status信息里的| File| Position兩項

      change master to master_host = '192.168.128.10', master_user = 'slave', master_port=3306, master_password='123456', master_log_file = 'mysqld-bin.000001', master_log_pos=3260;

      8.重新開啟從同步

      mysql> start slave;

      9.查看同步狀態

      mysql> show slave statusG  查看:

      Slave_IO_Running: Yes

      Slave_SQL_Running: Yes

      2006-2014 IT0355.com 山西中聯科創科技有限公司. All Rights Reserved.
      電話:0355-3728808 傳真:0355-3728808
      ICP備案號:晉ICP備06003721號本站已通過國際W3C認證
      關鍵字:中聯科創,長治網站建設,長治網站推廣,長治網絡工程,長治軟件開發,山西網站建設,山西軟件開發 長治五金網

                  

      亚洲AV无码国产日韩久久_亚洲欧美激情国产区_人人澡亚洲精品在线_在线看午夜福利片国产片_欧美性爱精品福利视频_一区二区三区黑人免费