AMH面板环境MySQL主从同步问题排查与解决日志
› 社区话题 › Linux/macOS 与自动化运维 › AMH面板环境MySQL主从同步问题排查与解决日志

- 作者帖子
- 2025年9月19日 - 下午5:05 #1124
追光管理员MySQL主从同步问题排查与解决日志
? 问题发生时间
2025年9月? 问题描述
使用AMH面板配置MySQL主从同步,配置完成后同步未开始工作。? 环境信息
主服务器IP: 10.241.105.11
从服务器IP: 10.241.105.130
MySQL版本: 5.7.44
部署方式: AMH面板主从同步插件? 排查过程
第一步:连接测试
bashmysql -h 10.241.105.11 -P 3306 -u jisongbin -p1234567
结果: 连接失败,错误信息:Access denied for user \’jisongbin\’@\’10.241.105.130\’
第二步:用户权限检查
通过phpMyAdmin检查发现用户未正确创建:
sqlSELECT User, Host FROM mysql.user WHERE User=\'jisongbin\';
— 返回空结果
第三步:创建复制用户
sqlCREATE USER \'jisongbin\'@\'%\' IDENTIFIED BY \'1234567\'; GRANT REPLICATION SLAVE ON . TO \'jisongbin\'@\'%\'; FLUSH PRIVILEGES;
第四步:验证连接
bashmysql -h 10.241.105.11 -P 3306 -u jisongbin -p1234567
— 连接成功
第五步:检查复制状态
sql
SHOW SLAVE STATUS\\G
— 返回空结果,说明未配置复制关系第六步:配置主从关系
发现权限不足,切换到root用户执行:
sqlCHANGE MASTER TO MASTERHOST=\'10.241.105.11\', MASTERUSER=\'amcsjimi\', MASTERPASSWORD=\'1234567\', MASTERPORT=3306;
第七步:发现根本问题
1、默认amh面板创建的服务端用户为 amcs_jisongbin,系统会默认加上amcs_前缀,所以手工测试时候要使用这个账号。
2、当然不管是服务端还是客户端,AMH都会自动加上前缀,所以并不会因此造成任何问题,反而是安全的一种设置。
启动复制时出现致命错误:
Fatal error: The slave I/O thread stops because master and slave have equal MySQL server UUIDs
? 根本原因分析
从服务器是从主服务器克隆的镜像,导致主从服务器的serveruuid相同,存储在/home/usrdata/mysql-generic-5.7/auto.cnf文件中。✅ 解决方案
1. 停止MySQL服务
bashamh mysql stop
2. 删除UUID配置文件
bashrm /home/usrdata/mysql-generic-5.7/auto.cnf
3. 启动MySQL服务
amh mysql start
4. 验证UUID唯一性
SHOW VARIABLES LIKE \'serveruuid\';
— 主从服务器UUID必须不同
5. 重启复制服务
sql
START SLAVE;
SHOW SLAVE STATUS\\G
— 确认SlaveIORunning和SlaveSQLRunning都为Yes? 经验教训
问题总结
1. 用户权限配置:需要正确创建复制用户并授予REPLICATION SLAVE权限
2. 网络连通性:确保从服务器能访问主服务器的3306端口
3. UUID冲突:克隆服务器时必须删除auto.cnf文件,避免UUID重复
4. 权限管理:配置主从复制需要SUPER权限,普通复制用户无法执行管理命令预防措施
1. 克隆服务器后立即删除auto.cnf文件
2. 使用AMH面板时确保正确配置用户权限和IP限制
3. 定期检查主从复制状态:SHOW SLAVE STATUS\\G
4. 监控SecondsBehindMaster指标,确保数据同步延迟正常? 最终结果
主从同步恢复正常工作,数据开始正常同步。记录人: NewVFX开发者社区
解决时间: 2025年9月
影响范围: MySQL主从复制服务
解决方式: 删除重复UUID文件,重启MySQL服务 - 2025年9月19日 - 下午5:23 #1128
追光管理员补充:Mysql主从复制模式下的主服务器mysql优化与从服务器优化
主服务器优化配置:可用于AMH配置的主从复制也可以用于任意Mysql主从复制环境:
# === 主从复制标识 === server-id = 22346 # 唯一服务器ID,主从服务器必须不同 # === 二进制日志基础配置 === log-bin = mysql-bin # 开启二进制日志,用于主从复制 binlog_format = mixed # 混合格式:根据SQL语句智能选择STATEMENT或ROW格式 max_binlog_size = 100M # 单个binlog文件最大100M,避免文件过大 # === 二进制日志管理配置 === expire_logs_days = 7 # 自动清理7天前的binlog文件,节省磁盘空间 sync_binlog = 1 # 每次事务提交都同步binlog到磁盘,保证数据安全 binlog_cache_size = 1M # 二进制日志缓存大小,小事务会使用内存缓存 # === 主从复制配置结束 ===
从服务器主从复制配置优化:
# === 主从复制配置 === server-id = 15030 slave-skip-errors = 1062,1032,1050,1146 # 不要用all,改为具体错误码 replicate_wild_do_table=multisites.% master-info-repository = table relay-log-info-repository = table # === 日志大小限制 === expire_logs_days = 7 max_binlog_size = 100M # 如果从服务器也开启binlog sync_binlog = 1 # relay-log相关配置使用默认值即可 # === 安全配置 === read_only = 1 super_read_only = 1 # === 主从复制配置结束 ===
- 作者帖子
- 在下方一键注册,登录后就可以回复啦。