mysql主从同步设置小记

主服务器很好配置, 分配一个唯一的server-id, 开启log-bin如下

#开启bin日志
log-bin=mysql-bin
#主库上限定需要同步的dbname
binlog-do-db=dbname
server-id = 1591634703

从服务器配置花了很多时间, 逛了很多博客, 看了很多文章, 最费时间的还是在配置和问题定位上.

全部操作都是在bt和phpmyadmin上完成的.

第一次配置好两台(主从)服务器后, 发现少了一条数据, 于是就把主数据库备份,导入从库, 好了, 数据一致了. 很快从库的复制功能报错了, 主键重复了. 从库的日志还没有执行到最新一条数据的插入, 但是我把数据直接导过来了,导致报错, Slave_SQL_Running 进程直接停止运行.

其实这个问题很好解决, 就是跳过1条报错就行, 直接在phpmyadmin上操作.如下图:

如果还有报错, 那就再执行一次.

从库的配置如下:

# 从库上限定需要同步的库
replicate-do-db=dbname
sync_binlog=0
#下边两行是禁用从库的bin日志
#log-bin=mysql-bin
#binlog_format=mixed
server-id = 1591634703
#如果用了innodb引擎, 下边的配置改成2,可以降低延迟
innodb_flush_log_at_trx_commit = 2

phpmyadmin4.4需要修改两处代码

libraries/config.default.php 第801行
//$cfg['AllowArbitraryServer'] = false;
$cfg['AllowArbitraryServer'] = true;

libraries/replication_gui.lib.php 第300行
//return PMA_DBI_connect($user, $password, false, $server, true);
return $GLOBALS['dbi']->connect($user, $password, false, $server, true);

Mine吧 » mysql主从同步设置小记

发表评论