mysql主備搭建_mysql 主備搭建


為什么要復制數據庫?
 
簡單來說有以下幾個用處:
 
1. 讀寫分離
 
通過MySQL復制可以實現讀寫分離,將讀操作分布到多個不同的服務器上,減輕服務器的壓力。
 
2. 備份
 
從庫可以作為數據的異地實時備份。
 
3. 故障切換
 
當主庫遇到故障,系統可以切換到從庫,實現故障切換。
 
4. 升級測試
 
從庫可作為測試服務器的數據庫。
 
復制數據的步驟:
 
在主庫上把數據更改記錄到二進制日志(Binary Log)中。
 
備庫將主庫上的日志復制到自己的中繼日志(Relay Log)中。
 
備庫讀取中繼日志中的事件,將其在備庫上重新執行一遍。
 
具體操作步驟如下:
 
主備兩台服務器安裝相同版本的數據庫,數據庫的初始數據保持一致。
 
(主庫)配置同步賬號創建數據庫復制用戶:mysql>CREATE USER 'repl'@'172.16.127.83' IDENTIFIED BY '123456';
 
授權:mysql>grant replication slave on *.* to 'repl'@'172.16.127.83' ;
 
3.(主庫)修改/etc/my.cnf文件,注意確保:server-id 唯一
 
server-id=1
 
log-bin=mysql-bin
 
4.(主庫)重啟master端
 
1.   service mysqld restart
 
5.(主庫)查詢主庫上當前的二進制日志名和偏移量值,記錄下file跟position的值,待會從庫要用
 
1.   mysql>show master status \G
 
6.(從庫)修改/etc/my.cnf文件,注意確保:server-id 唯一
 
server-id=2
 
7.(從庫)重啟slave端
 
1.  service mysqld restart
 
8.(從庫)對從數據庫服務器做相應設置,指定復制使用的用戶,主數據庫服務器的IP、端口以及開始執行復制的日志文件和位置等
 
1.  mysql>CHANGE MASTER TO MASTER_HOST='172.16.127.49',MASTER_USER='repl',MASTER_PASSWORD='123456',MASTER_LOG_FILE='mysql-bin.000013',MASTER_LOG_POS=156;
 
9. (從庫)啟動slave線程
 
1.  mysql>start slave;
 
10.  主庫跟從庫分別檢查狀態
 
1. 檢查master的:mysql>show processlist\G      結果:看到上面的Command: Binlog Dump說明配置成功!
 
2.檢查slave的:mysql>show slave status \G       結果:提示:Slave_IO_Running和Slave_SQL_Running兩個值為YES基本上成功了
————————————————
版權聲明:本文為CSDN博主「六十度灰」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/weixin_31304599/article/details/113203840


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM