mysql主从同步简单原理_MYSQL简单主从复制原理及实现
mysql主從復制原理:
Master會對數據庫產生修改的語句記錄到二進制日志中,在Slave中會有一個線程(IO thread)會向Master請求二進制日志中發生的事件,Master通過binlogdump線程將二進制日志事件發送給Slave,Slave會把請求到的二進制日志事件保存至本地的中繼日志中,然后由SQL thread 執行中繼日志,就會得到跟Master一模一樣的數據了 。
過程如圖所示:
實現過程:
兩臺mysql服務器都編譯安裝mariadb-10.0.10,一般情況下,為了兼容問題,主服務器mysql版本要低于或相同于從服務器mysql版本,Master172.16.254.139
Slave172.16.254.140
Master配置步驟:
1、啟用二進制日志,編輯/etc/my.cnf配置文件
2、修改server id要與Slave的server id不同,避免循環復制
3、在master上創建復制用的帳號,此帳號只授予復制相關的權限MariaDB [mydb]> grant replication slave,replication client on *.* to 'repluser'@'172.16.%.%' identified by 'mypass';
Slave配置步驟:
1、關閉二進制日志
2、修改server ?id,不能與Master相同
3、編輯配置文件,添加啟用中繼日志選項,并且配置Slave為只讀,因為使用的mysql版本為mariadb-10.0.10,所以默認使用的存儲引擎為的innodb
4、啟動mysql并連接,驗證中繼日志功能是否啟用
5、使用change ?master ?to 連接Master服務器MariaDB [mydb]> change master to master_host='172.16.254.139', master_user='repluser', master_password='mypass';
6、在Slave上手動啟動復制功能MariaDB [mydb]> start slave;
7、驗證Slave服務器上Slave_IO_Running與Slave_SQL_Running兩個線程是否為Yes,/mydata/relaylogs目錄下是否有中繼日志存在
8、在Master上創建一個數據庫mydb,在Slave上是否同步
上面實現步驟mysql主從服務器都是從零開始復制的,如果在一個已存在數據的主服務器上部署備服務器,要先對主服務器的數據做一次完整備份,備份的時候做好二進制日志位置記錄 ,然后恢復到從服務器上,并指定從服務器的從主服務器二進制日志的復制位置,從時間點開始復制
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的mysql主从同步简单原理_MYSQL简单主从复制原理及实现的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql 怎么实现组内排名_MySQL
- 下一篇: mysql查询数据库desc_数据库查询