主库master
创建同步账号
GRANT REPLICATION SLAVE ON *.* TO 'account'@'ip' IDENTIFIED BY 'password';
配置数据库的my.ini
server-id=1
log-bin=log
binlog-do-db=dbname #同步dbname数据库,要同步多个数据库,就多加几个replicate-db-db=数据库名
binlog-ignore-db=mysql #要忽略的数据库
- 重启mysql服务
从库slave
配置数据库的my.ini
server-id=10
重启mysql服务
登录mysql
连接Master
CHANGE MASTER TO
Master_Host='ip', #主机IP
Master_Port=3306,
Master_User='account',
Master_Password='dbname',
Master_Connect_Retry=60;
- 启动Slave
start slave;
验证主从
- 登录从机
show slave status\G;
- 在master机器创建数据库以及数据表并插入数据
CREATE TABLE IF NOT EXISTS `test` (
`id` INT UNSIGNED AUTO_INCREMENT,
PRIMARY KEY (`id` )
)ENGINE=InnoDB DEFAULT CHARSET=utf8;
INSERT INTO \
test` VALUES (1);`
- 在slave机器查看数据表
SELECT * FROM `test`;
想了解原理请看
http://www.hoohack.me/2017/07/11/learning-mysql-replication-detail