溫馨提示×

溫馨提示×

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

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

mysql中怎么配置主從復(fù)制

發(fā)布時間:2021-06-21 17:03:27 來源:億速云 閱讀:125 作者:Leah 欄目:大數(shù)據(jù)

mysql中怎么配置主從復(fù)制,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來學(xué)習(xí)下,希望你能有所收獲。

1.下載mysql安裝包(我用的是解壓版的mysql-5.7),解壓成兩份分別命名為MySQLmaster和MySQLslave

2.修改master的my.ini文件

[mysqld]

#端口
port = 3306
basedir=D:/hlb/ruanjian/mysql5.7_master/mysql-5.7.25-winx64
datadir=D:/hlb/ruanjian/mysql5.7_master/mysql-5.7.25-winx64/data 
max_connections=200
character-set-server=utf8
default-storage-engine=INNODB
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES


#需要備份的數(shù)據(jù)庫  
binlog-do-db=test

#不需要備份的數(shù)據(jù)庫  
#binlog-ignore-db=mysql 
#注:bin-do-db,bin-ignore-db 為互斥關(guān)系,只需設(shè)置其中一項即可 

#開啟二進(jìn)制日志
log-bin=mysql-bin

#服務(wù)id
server-id=1
[mysql]
default-character-set=utf8

3.修改slave的my.ini文件

[mysqld]
port = 3307
basedir=D:/hlb/ruanjian/mysql5.7_slave/mysql-5.7.25-winx64
datadir=D:/hlb/ruanjian/mysql5.7_slave/mysql-5.7.25-winx64/data 
max_connections=200
character-set-server=utf8
default-storage-engine=INNODB
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

#服務(wù)器id
server_id = 2

#開啟二進(jìn)制日志(從服務(wù)器不是必須要開啟二進(jìn)制日志)
log-bin=mysql-bin 


[mysql]
default-character-set=utf8

4.mysql解壓版安裝

   )1.以管理員身份打開cmd.exe
   )2.cd D:\hlb\ruanjian\mysql5.7_slave\mysql-5.7.25-winx64\bin
   )3.mysqld -install mysqlmaster(或者是mysqlslave)
   )4.mysqld --initialize-insecure --user=mysql(此語句用于初始化MySQL并生成data目錄)
net start mysql 啟動MySQL命令  
net stop mysql  停止MySQL命令 
mysql -uroot -P3306(或者-P3307)進(jìn)入mySQL命令行

5.配置master Mysql。

binlog-do-db(前面修改master 的my.ini文件有此參數(shù))用于指定需要同步的數(shù)據(jù)庫,binlog-ignore-db指定不需要同步的數(shù)據(jù)庫,如果這兩個參數(shù)都不設(shè)置,則從服務(wù)器會復(fù)制主服務(wù)器的所有數(shù)據(jù)庫。
一般不用root賬號作同步賬號,為此,我們需要在主服務(wù)器上創(chuàng)建一個新的用戶(如 user01,密碼為123456)。

這里我們用命令行的方式創(chuàng)建,方法如下:

    )1.創(chuàng)建新用戶: 
create user 'user01'@'127.0.0.1' identified by '123456';(@后面的ip地址為允許連接的客戶端的ip地址。)

   )2.給新用戶配置主從復(fù)制的權(quán)限:
grant replication slave on *.* to 'user01'@'127.0.0.1' identified by '123456';
    (@后面的ip地址為允許連接的客戶端的ip地址,如果改為 '%',就表示客戶端沒有ip地址的限制)

   )3.查看主服務(wù)器的 master 狀態(tài):mysql> show master status;(從配置會用到里面的信息)

6.配置slave Mysql

連接MySQL從服務(wù)器:
mysql -uroot -p -P3307

配置復(fù)制的參數(shù):
change master to master_host='127.0.0.1',master_user='user01',master_password='123456',master_port=3306,master_log_file='mysql-bin.000008',master_log_pos=498;
啟動從服務(wù)器的slave復(fù)制功能:

start slave;

查看從服務(wù)器的slave狀態(tài):
mysql> show slave status \G
如果 Slave_IO_Running 和 Slave_SQL_Running 的值都為 Yes,則說明主從復(fù)制的所有配置已成功,即從服務(wù)器已經(jīng)可以自動與主服務(wù)器的數(shù)據(jù)庫數(shù)據(jù)實現(xiàn)同步了。
此后,只要主服務(wù)器的數(shù)據(jù)有更新(比如:在 test數(shù)據(jù)庫中新建了一張表或者表中的數(shù)據(jù)發(fā)生了變化),從服務(wù)器都會自動與主服務(wù)器保持一致。

但如果有人刻意改變了從服務(wù)器的數(shù)據(jù),主服務(wù)器中的數(shù)據(jù)并不會同步更新,除非我們把這兩個MySQL服務(wù)器設(shè)置為互為主從。

insert into user values(1,'aa')  主MySQL測試即可

截圖效果如下:

mysql中怎么配置主從復(fù)制

看完上述內(nèi)容是否對您有幫助呢?如果還想對相關(guān)知識有進(jìn)一步的了解或閱讀更多相關(guān)文章,請關(guān)注億速云行業(yè)資訊頻道,感謝您對億速云的支持。

向AI問一下細(xì)節(jié)

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

AI