溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

mysql主從復制原理

發(fā)布時間:2020-08-08 16:16:08 來源:網絡 閱讀:355 作者:小辛linux 欄目:MySQL數(shù)據庫

環(huán)境:

3306 主庫

3307 從庫

1 設置server-id值并開啟binlog功能參數(shù)

編輯mysql的配置文件/data/3306/my.cnf

[mysqld]

server-id = 6              ----用于同步的每臺機器或實例sever-id都不能相同

log_bin =/data/3306/mysql-bin  ----可以省略

重啟服務

/data/3306/mysql restart

檢查思路一

[root@db02 data]# egrep "log_bin|server-id" 330*/my.cnf

3306/my.cnf:log_bin = /data/3306/mysql-bin

3306/my.cnf:server-id = 6


3307/my.cnf:server-id = 7

檢查思路二:

檢查思路2:

登錄:

[root@db02 data]# mysql -S /data/3306/mysql.sock 

查看變量:

mysql> show variables like 'log_bin%';

+---------------------------------+----------------------------+

| Variable_name                   | Value                      |

+---------------------------------+----------------------------+

| log_bin                         | ON                         |

| log_bin_basename                | /data/3306/mysql-bin       |

| log_bin_index                   | /data/3306/mysql-bin.index |

| log_bin_trust_function_creators | OFF                        |

| log_bin_use_v1_row_events       | OFF                        |

+---------------------------------+----------------------------+

5 rows in set (0.00 sec)

2 建賬號授權【主庫】

grant replication slave on *.* to 'rep'@'172.16.1.%' identified by 'oldboy123';

flush privileges;

3鎖表導出數(shù)據

mysql> flush table with read lock;

Query OK, 0 rows affected (0.00 sec)

查看位置:

mysql> show master status;

+------------------+----------+--------------+------------------+-------------------+

| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |

+------------------+----------+--------------+------------------+-------------------+

| mysql-bin.000001 |      405 |              |                  |                   |

+------------------+----------+--------------+------------------+-------------------+

1 row in set (0.00 sec)


新開窗口備份:

mysqldump -uroot -p'oldboy123' -S /data/3306/mysql.sock -A -B |gzip >/server/backup/mysql_bak.$(date +%F).sql.gz


原窗口解鎖:

mysql> show master status;

+------------------+----------+--------------+------------------+-------------------+

| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |

+------------------+----------+--------------+------------------+-------------------+

| mysql-bin.000001 |      405 |              |                  |                   |

+------------------+----------+--------------+------------------+-------------------+

1 row in set (0.00 sec)

mysql> unlock tables;

Query OK, 0 rows affected (0.01 sec)


如下命令可替代3的所有步驟

mysqldump -uroot -p'oldboy123' --master-data=2 -S /data/3306/mysql.sock -A -B


4、將數(shù)據導入到從庫

[root@db02 backup]# mysql -S /data/3307/mysql.sock <mysql_bak.2017-05-04.sql


5、讓從庫從主庫鎖表時刻記錄的binlog位置點開始向下同步

CHANGE MASTER TO  

MASTER_HOST='172.16.1.52', 

MASTER_PORT=3306,

MASTER_USER='rep', 

MASTER_PASSWORD='oldboy123', 

MASTER_LOG_FILE='mysql-bin.000001',

MASTER_LOG_POS=405;




向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI