MySQL筆記 ~ 主從複製
1、主從複製
1.1、MySQL
已經安裝好,並且沒有任何數據
1.2、配置文件
一般Linux中的MySQL配置文件都在/etc/my.cnf
log-bin=mysql-bin 開啟二進位日誌
注意:二進位日誌必須開啟,因為數據的同步實質上就是其他的MySQL資料庫伺服器將這個數據變更的二進位日誌在本機上再執行一遍。
192.168.95.11 為主資料庫伺服器
192.168.95.12 為從資料庫伺服器
1.3、開始構建主從複製
第一步:
在192.168.95.11中創建一個192.168.95.12主機中可以登錄的MySQL用戶
用戶:mysql12
密碼:mysql12
mysql>GRANT REPLICATION SLAVE ON *.* TO mysql12 @ 192.168.95.12 IDENTIFIED BY mysql12;mysql>FLUSH PRIVILEGES;
第二步:
查看192.168.95.11MySQL伺服器二進位文件名與位置
mysql>SHOW MASTER STATUS;
第三步:
告知二進位文件名與位置
在192.168.95.12中執行:
mysql>CHANGE MASTER TO >MASTER_HOST=』192.168.95.11』, >MASTER_USER=』mysql12』, >MASTER_PASSWORD=』mysql12』, >MASTER_LOG_FILE=』mysql-bin.000048』, >MASTER_LOG_POS=432;
完成主從複製配置
1.4、測試主從複製
在192.168.95.12中
mysql>SLAVE START; #開啟複製 mysql>SHOW SLAVE STATUSG #查看主從複製是否配置成功
當看到Slave_IO_Running: YES、Slave_SQL_Running: YES才表明狀態正常
實際測試:
登陸192.168.95.11主MySQL
mysql>SHOW DATABASES;
登陸192.168.95.12從MySQL
mysql>SHOW DATABASES;
-----------------------------------------------------
192.168.95.11主MySQL操作:
mysql>create database aa; mysql>use aa; mysql>create table tab1(id int auto_increment,name varchar(10),primary key(id)); mysql>show databases; mysql>show tables;
192.168.95.12從MySQL操作:
mysql>show databases;
mysql>show tables;
由上面兩個結果圖可得知,兩主機達到了數據同步。主從複製的配置就是如此的簡單。
另外,主主複製的情況,基本思路就是主庫之間進行互為主從關係。
推薦閱讀:
※循序漸進學習如何在 MariaDB 中配置主從複製
※SQL 常用命令及練習--之一
※Access資料庫應用思維導圖
※演講實錄:「分散式資料庫海量數據存儲和實時查詢實現與應用」