亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Mysql數(shù)據(jù)庫的主從同步配置方式

 更新時間:2024年04月11日 10:30:54   作者:時棧  
這篇文章主要介紹了Mysql數(shù)據(jù)庫的主從同步配置方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

注:本次配置的主從數(shù)據(jù)庫版本都為Mysql 8,主數(shù)據(jù)庫所在系統(tǒng)為Windows(Windows Server 2019),從數(shù)據(jù)庫所在系統(tǒng)為Linux(CentOS Stream 8)。

一、主數(shù)據(jù)庫準備

1.在主數(shù)據(jù)庫創(chuàng)建用于復(fù)制的用戶

(如果已經(jīng)存在類似用戶,可跳過此步驟)

mysql> CREATE USER 'copy'@'%' IDENTIFIED BY 'copy123456';
mysql> GRANT REPLICATION SLAVE ON *.* TO 'copy'@'%';

2.查看主數(shù)據(jù)庫是否啟用二進制日志

mysql> show variables like 'log_bin';

這里須保證數(shù)據(jù)庫啟用二進制日志。

3.配置主數(shù)據(jù)庫配置文件

Windows中配置文件路徑默認為:

C:\ProgramData\MySQL\MySQL Server 8.0\my.ini

修改 server-id=(可任意設(shè)置為 [1 , 2^{32}

范圍內(nèi)的值,但不能與其他數(shù)據(jù)庫相同)

添加binlog-do-db(需要同步的數(shù)據(jù)庫名)或binlog-ignore-db(不同步的數(shù)據(jù)庫名)

具體操作為:

在[mysqld]下面添加以下內(nèi)容:

server-id = 100002 
#注:server-id 默認為1,根據(jù)需要修改為指定的id
 
binlog-do-db=需要同步的數(shù)據(jù)庫(或者binlog-ignore-db=忽略同步的數(shù)據(jù)庫)
binlog-do-db=需要同步的數(shù)據(jù)庫(或者binlog-ignore-db=忽略同步的數(shù)據(jù)庫)
binlog-do-db=需要同步的數(shù)據(jù)庫(或者binlog-ignore-db=忽略同步的數(shù)據(jù)庫)
............
#注:如果有多個數(shù)據(jù)庫,可以書寫多行

修改后保存。

注:此處要保證my.ini的編碼為ANSI,如果編碼為Unicode等其他編碼,會導(dǎo)致數(shù)據(jù)庫重啟失敗?。。。梢允褂糜浭卤?[另存為] ANSI編碼)

4.重啟MySQL服務(wù)

在任務(wù)管理器中找到

選擇重新啟動。

二、從服務(wù)器 準備

1.設(shè)置 從服務(wù)器 的server_id

SET GLOBAL server_id = 66666;

2.查看主數(shù)據(jù)庫是否啟用二進制日志

show variables like 'log_bin';

Mysql8默認啟用,如果未啟用,則需要將其啟用。

三、主從數(shù)據(jù)庫數(shù)據(jù)準備

1.阻止主數(shù)據(jù)庫的更改

(如果能保證在數(shù)據(jù)庫配置期間不對主數(shù)據(jù)庫進行變更,可以跳過這一步)

在數(shù)據(jù)庫上加上讀鎖定。

mysql> FLUSH TABLES WITH READ LOCK;

所有配置完成之后,釋放鎖定(下面這條語句暫時不執(zhí)行,在配置完成之后再釋放)

mysql> UNLOCK TABLES;

2.使主從數(shù)據(jù)庫的數(shù)據(jù)保持一致

有很多種方法可以實現(xiàn)這一步。

(這里使用了Navicate for Mysql的“數(shù)據(jù)傳輸”功能) 

 

3.獲取主服務(wù)器當前的二進制日志文件名和位置

SHOW MASTER STATUS;

四、在從服務(wù)器上進行配置 

1.在從服務(wù)器上設(shè)置源配置

mysql> CHANGE REPLICATION SOURCE TO
    ->     SOURCE_HOST='source_host_name',
    ->     SOURCE_USER='replication_user_name',
    ->     SOURCE_PASSWORD='replication_password',
    ->     SOURCE_LOG_FILE='recorded_log_file_name',
    ->     SOURCE_LOG_POS=recorded_log_position;
 
 
 
 
MySQL 8.0.23之前的版本使用如下語句:
mysql> CHANGE MASTER TO
    ->     MASTER_HOST='source_host_name',
    ->     MASTER_USER='replication_user_name',
    ->     MASTER_PASSWORD='replication_password',
    ->     MASTER_LOG_FILE='recorded_log_file_name',
    ->     MASTER_LOG_POS=recorded_log_position;

2.啟動

START SLAVE;

3.查看狀態(tài):

SHOW SLAVE STATUS;

可以看到Slave_IO_State為:Waiting for source to send event

同時可以看到Slave_IO_Running和Slave_SQL_Running都為Yes

 

4.查看數(shù)據(jù)庫同步狀態(tài),若無問題,則配置成功。

(如果之前加了讀鎖定,不要忘了在主數(shù)據(jù)庫上釋放鎖定)

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評論