mysql5.6之主從複製

新的之間創建複製:
mysql

   1. 配置服務器中的配置文件my.cnf,二進制日誌文件和服務器IDsql

      [mysqld]服務器

      log-bin=mysql-bin    ###最好與數據文件分離dom

      server-id=1ide

   2. 開啓服務器spa

   3. 創建用於鏈接服務器的用戶    線程

      CREATE USER 'repl'@'%.mydomain.com' IDENTIFIED BY '密碼';日誌

      GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%.mydomain.com';orm

   4. 獲得服務器的狀態信息server

      mysql> flush tables with read lock

      mysql> show master status;

   5. 在服務器上,釋放讀鎖

      mysql> unlock tables;

   6. 配置服務器中的配置文件my.cnf,服務器ID

      [mysqld]

      server-id=2

   7. 開啓服務器

   8. 在服務器上設置主配置

      mysql> CHANGE MASTER TO

           -> MASTER_HOST='主服務器IP',

           -> MASTER_USER='用戶名',

           -> MASTER_PASSWORD='密碼',

           -> MASTER_LOG_FILE='當前的二進制日誌文件',

           -> MASTER_LOG_POS=2063;


MySQL使用3個線程進行復制:

  一個在主服務器上

 Binlog dump thread   當從服務器鏈接主服務器時,主服務器創造了一個線程,發送二進制日誌內容到從服務器。使用SHOW PROCESSLIST,能夠識別這個線程  

  兩個在從服務器上

 Slave I/O thread     當在從服務器上執行START SLAVE時,從服務器創造了這個線程,鏈接上主服務器,請求主服務器傳送更新的二進制日誌,而後讀取複製到從服務器上面造成中繼日誌。使用SHOW SLAVE STATUS\G,能夠看到Slave_IO_running

 Slave SQL thread     從服務器創造了這個線程,從中繼日誌裏讀取執行事件 


問題:slave stop

    set global sql_slave_skip_counter=1

    slave start


主主複製:

      auto-increment-increment   #增加量#

      auto-incremnet-offset     #起始值# 


開啓crash-safe功能

                      relay_log_info_repository=TABLE  

                      relay_log_recovery=ON

主上:

        sync_binlog = 1

        innodb_flush_log_at_trx_commit = 1

        innodb_support_xa = 1


如何阻止更新直到跟上:

   1.在主上執行

       mysql> FLUSH TABLES WITH READ LOCK;

        mysql> SHOW MASTER STATUS;

   2.在從上執行

        mysql> SELECT MASTER_POS_WAIT('log_name', log_pos);

    3.在主上執行

           mysql> UNLOCK TABLES;

相關文章
相關標籤/搜索