欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

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

一、主數(shù)據(jù)庫(kù)準(zhǔn)備

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

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

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

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

mysql> show variables like 'log_bin';

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

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

Windows中配置文件路徑默認(rèn)為:

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

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

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

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

具體操作為:

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

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

修改后保存。

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

4.重啟MySQL服務(wù)

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

選擇重新啟動(dòng)。

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

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

SET GLOBAL server_id = 66666;

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

show variables like 'log_bin';

Mysql8默認(rèn)啟用,如果未啟用,則需要將其啟用。

三、主從數(shù)據(jù)庫(kù)數(shù)據(jù)準(zhǔn)備

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

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

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

mysql> FLUSH TABLES WITH READ LOCK;

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

mysql> UNLOCK TABLES;

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

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

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

 

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

SHOW MASTER STATUS;

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

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之前的版本使用如下語(yǔ)句:
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.啟動(dòng)

START SLAVE;

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

SHOW SLAVE STATUS;

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

同時(shí)可以看到Slave_IO_Running和Slave_SQL_Running都為Yes

 

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

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

總結(jié)

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

相關(guān)文章

最新評(píng)論