主服务器很好配置, 分配一个唯一的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_zwtt8,文章来源:https://www.zwtt8.com/jiaocheng/2020-06-09/mysql%e4%b8%bb%e4%bb%8e%e5%90%8c%e6%ad%a5%e8%ae%be%e7%bd%ae%e5%b0%8f%e8%ae%b0/