您好,登錄后才能下訂單哦!
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測試即可
截圖效果如下:
看完上述內(nèi)容是否對您有幫助呢?如果還想對相關(guān)知識有進(jìn)一步的了解或閱讀更多相關(guān)文章,請關(guān)注億速云行業(yè)資訊頻道,感謝您對億速云的支持。
免責(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)容。