主服务器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分布式数据库读写分离