您好,登錄后才能下訂單哦!
mysql中怎么配置主從復制,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。
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 #需要備份的數據庫 binlog-do-db=test #不需要備份的數據庫 #binlog-ignore-db=mysql #注:bin-do-db,bin-ignore-db 為互斥關系,只需設置其中一項即可 #開啟二進制日志 log-bin=mysql-bin #服務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 #服務器id server_id = 2 #開啟二進制日志(從服務器不是必須要開啟二進制日志) 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)進入mySQL命令行
5.配置master Mysql。
binlog-do-db(前面修改master 的my.ini文件有此參數)用于指定需要同步的數據庫,binlog-ignore-db指定不需要同步的數據庫,如果這兩個參數都不設置,則從服務器會復制主服務器的所有數據庫。
一般不用root賬號作同步賬號,為此,我們需要在主服務器上創建一個新的用戶(如 user01,密碼為123456)。
這里我們用命令行的方式創建,方法如下:
)1.創建新用戶: create user 'user01'@'127.0.0.1' identified by '123456';(@后面的ip地址為允許連接的客戶端的ip地址。) )2.給新用戶配置主從復制的權限: grant replication slave on *.* to 'user01'@'127.0.0.1' identified by '123456'; (@后面的ip地址為允許連接的客戶端的ip地址,如果改為 '%',就表示客戶端沒有ip地址的限制) )3.查看主服務器的 master 狀態:mysql> show master status;(從配置會用到里面的信息)
6.配置slave Mysql
連接MySQL從服務器:
mysql -uroot -p -P3307
配置復制的參數:
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;
啟動從服務器的slave復制功能:
start slave;
查看從服務器的slave狀態:
mysql> show slave status \G
如果 Slave_IO_Running 和 Slave_SQL_Running 的值都為 Yes,則說明主從復制的所有配置已成功,即從服務器已經可以自動與主服務器的數據庫數據實現同步了。
此后,只要主服務器的數據有更新(比如:在 test數據庫中新建了一張表或者表中的數據發生了變化),從服務器都會自動與主服務器保持一致。
但如果有人刻意改變了從服務器的數據,主服務器中的數據并不會同步更新,除非我們把這兩個MySQL服務器設置為互為主從。
insert into user values(1,'aa') 主MySQL測試即可
截圖效果如下:
看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。