晚上迁移数据库,按照常规的拷库,配置replication slave 权限,然后change master to照做
出现错误:
Slave_IO_Running: No
查看errorlog:
130530 15:11:56 [Note] Slave I/O thread: Failed reading log event, reconnecting to retry, log 'mysql-bin.000006' position 1238400
130530 15:11:56 [Note] Slave: connected to master 'repl@10.13.195.123:3306',replication resumed in log 'mysql-bin.000006' at position 1238400
130530 15:11:56 [ERROR] Error reading packet from server: Access denied; you need the REPLICATION SLAVE privilege for this operation ( server
_errno=1227)
说是Access denied; you need the REPLICATION SLAVE privilege for this operation ( server
_errno=1227)
随到主库赋值权限,赋权限后,再次
mysql>stop slave;
mysql>start slave;
mysql>show slave status \G
发现错误依旧
随查看 /etc/my.cnf 中 server-id 确保不一致,但是发现确实是不一致的
随后修改change master to 的binlog以及pos,因为怕 之前记录的binlog和pos 在主上是有问题的,但是change master to后也美好
随猜测是主库问题,到主库查看:
mysql> show global variables like 'version';
发现主从mysql版本不一样 主:5.0.77-log 从:5.0.95-log
但是先不觉得是版本不同带来的问题
随后到主上检查 复制账号的真实权限:
mysql> show grants for 'repl'@'xxx';
发现没有replication slave权限
然后查看mysql user表,发现缺少字段 o(╯□╰)o
之后使用 mysql_fix_privilege_tables 命令修复之,搞定!
转载于:https://blog.51cto.com/lqqnotes/1213694