mysql之主從、主主同步

mysql之主從、主主同步

1、主從同步

       一、master:(虛擬機cenOS7上)java

            a:ip:192.168.35.129
mysql

            b:修改 my.cnf
sql

# 爲了區分不一樣的mysql程序(只要mysql程序的數惟一)
server-id=2
# master的執行語句記錄位置(slaver主要就是複製這上面的sql語句進行同步)
log-bin=master-bin

            c:訪問用戶及權限
centos

重啓:
#:service mysql restart
添加slaver的權限
# mysql -u root -p
# grant replication slave on *.* to 'sl'@'192.168.35.1' identified by '1234';
# flush privileges;

           d:查看狀態tcp

#:show master status;
以下:
mysql> show master status;
+------------------+----------+--------------+------------------+-------------------+
| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+------------------+----------+--------------+------------------+-------------------+
| master-bin.00001 |      154 |              |                  |                   |
+------------------+----------+--------------+------------------+-------------------+
1 row in set (0.01 sec)

            f:防火牆(centos7使用的是firewall)
ide

一、查看firewall是否打開了 3306端口
#:firewall-cmd --list-all
二、打開端口
#:firewall-cmd --add-port=3306/tcp --pernament

       二、slaver (window上)
ui

            a:ip:192.168.35.1
centos7

            b:修改 my.cnf
spa

# 爲了區分不一樣的mysql程序(只要mysql之間的數惟一)
server-id=3

            c:開啓slaverrest

一、修改master
mysql> CHANGE MASTER TO MASTER_HOST='192.168.35.129', MASTER_USER='sl',MASTER_PASSWORD='123',
MASTER_LOG_FILE='master-bin.000001',MASTER_LOG_POS=0;
(最後這一個是slaver從master日誌第幾行開始執行,通常出問題了都會在問題解決後,修改這一行)
二、開啓
mysql> start slave;
三、開啓狀態
mysql> show slave status\G;

      

            (ps:紅色的兩個參數最重要,正常工做須要這兩個都是YES)  

        三、錯誤處理

            問題:

                在master添加一個庫:create database temp; 而這個時候slave早就有了這個表。slave就會關閉同步。以下

            處理:(在slave中)

一、關閉 slave
mysql > stop slave;
二、刪除temp庫
mysql > drop database temp;
三、修改存放的master信息(主要是 MASTER_LOG_POS,就是上圖的 Exec_Master_Log_Pos.)
mysql> CHANGE MASTER TO MASTER_HOST='192.168.35.129', MASTER_USER='fxl',MASTER_PASSWORD='123',
MASTER_LOG_FILE='mater-bin.000015',MASTER_LOG_POS=456;
四、啓動
mysql> start slave;
五、查看
mysql> show slave status\G;
(若是 Slave_IO_Running和Slave_SQL_Running都是YES,也就正常了)

2、主主同步

    一、主主同步就是相互主從同步的關係。

    二、主鍵處理須要將自增數分開<奇偶>(最好是使用uuid)

auto-increment-increment = 2 //每次增加2
auto-increment-offset = 2 //設置自動增加的字段的偏移量,即初始值爲2
相關文章
相關標籤/搜索