数据库主从同步的时候有两个线程:IO线程和SQL线程。常见的报错时围绕这两个线程出现的。

IO线程:把主库binlog日志的内容记录到本机的中继日志文件里。 IO线程报错的原因有两个,第一是指定主库信息时参数信息有误;第二时安全限制(包括firewall,selinux)。 ** 查看报错原因:** ** mysql> show slave status\G** …… Last_IO_error:报错提示 …… 常见错误提示:error connecting to master 'repluse@192.168.4.51:3306' - retry-time: 60 retries:1 报错提示在从数据库服务器上指定主库信息参数时有误,通常是与主库授权时的用户或密码不一致造成的 ** 另外,如果是指定主库信息时参数有误的话,可以查看数据库目录下的记录连接主库信息的文件master.info** [root@mysql]# cat /var/lib/mysql/master.info >这里的参数就是指定主库信息时设置的参数 附指定主库信息时的命令及示例截图 mysql> change master to -> master_host="ip地址", -> master_user="授权时指定的用户名", -> master_password="用户密码", -> master_log_file="binlog日志", -> master_log_pos=偏移量;

修复IO线程: mysql> stop slave; mysql> change master to 选项=值; mysql> start slave;


SQL线程:执行本机中继日志文件里的SQL命令,把数据写进本机数据库里 SQL线程出错原因:一般时执行中继日志文件里sql命令用到的库或表在本机不存在 修复SQL线程: 查看 本机和主数据库服务器中的库和表,使本机有主数据库服务器中的库或表。 先停止slave服务,晚上库或表之后再启动slave服务 mysql> stop slave; 修改 mysql> start slave;