主服務器ip:192.168.8.102,從服務器ip:192.168.8.103html
1、主庫(master)配置mysql
1.修改mysql.ini配置文件,在mysqld下添加以下配置,並重啓mysql服務sql
[mysqld] server-id=1 //主庫和從庫要不一致 log-bin=mysql-bin binlog-do-db=mstest_db //同步數據庫,要與從庫裏配置的數據庫名保持一致 能夠添加多個
2.驗證配置是否成功數據庫
a.經過「SHOW VARIABLES LIKE 'server_id';」命令查看服務器
b.查看主庫的狀態,其中file和position在從庫配置中會用到,注意每次修改主庫的mysql.ini文件,file和position參數都會變分佈式
3.受權給從服務器(slave)同步數據的帳號密碼測試
GRANT REPLICATION SLAVE ON *.*TO 'root'@'192.168.8.103' IDENTIFIED BY '123456';
參數說明:spa
主庫(master)配置完成3d
2、從庫(slave配置)code
1.修改mysql.ini配置文件,在mysqld下添加以下配置,並重啓mysql服務
[mysqld] server-id=2 //與主庫不能相同 log-bin=mysql-bin slave-net-timeout=60 //重連時間 replicate-do-db=mstest_db //同步數據庫 要與主庫裏配置的數據庫名保持一致
說明:將主庫中須要同步的數據庫導入到從庫,也能夠新建,但必須保證數據庫名、表名、字段名、數據類型所有保持一致,主從數據庫保持一致
2.在從服務器上設置同步命令
-- 中止從庫 stop slave; -- 設置同步 b.master_host='192.168.8.102',master_port=3306,master_user='root',master_password='123456',master_log_file='mysql-bin.000009',master_log_pos=1119; -- 開啓從庫 start slave
若是在執行第二步命令時出錯「Could not initialize master info structure, more error messages can be found in the MySQL error log」,能夠先執行「reset slave;」重置從庫命令便可。
3.檢測主從是否打通
執行「show slave status」命令,查看「 Slave_IO_Running 」和「 Slave_SQL_Running 」是否都爲yes。都爲yes即標識主從同步
從庫(slave)配置完成
3、測試主從是否同步
主數據庫user字段格式以下,從數據庫也須與主數據庫格式一致
在主數據庫中插入一條數據,並查詢
INSERT INTO user (id,name,age) VALUES (null,'aabb',111); select * from user;
在主庫添加以後,再到從數據庫中查看,數據是否同步到從庫
select * from user;
能夠看到在主庫添加的數據,在從庫裏也能查詢到,說明主從同步成功。
須要注意幾點:
關於如何在ThinkPHP5運用,能夠參看ThinkPHP5分佈式數據庫讀寫分離