我是邪少
我什么都不会

配置MySQL5.7主从复制遇到的问题以及解决方案

出现错误:Slave_SQL_Running: No

解决方案:

mysql>stop slave;# 先停止复制线程
mysql>set GLOBAL SQL_SLAVE_SKIP_COUNTER=1; #跳过错误
mysql>start slave ;# 再开启复制

出现以下错误代码以及解决方法

1.出现此错误代码

ERROR 1862 (HY000): Your password has expired. To log in you must change it using a client that supports expired passwords.

遇到这个问题,可能是因为客户端mysql和服务端版本不一致,比如mysql-5.5.41连接5.7.12。

2.出现此错误代码

ERROR 3021 (HY000): This operation cannot be performed with a running slave io thread;run STOP SLAVE IO_THREAD FOR CHANNEL '' first.

在设置同步关系时,没有先停止slaves线程。解决办法为在设置同步关系之前,先执行下“stop slave”,以停止slave线程。

3.出现此错误代码

Can't connect to local MySQL server through socket

使用mysql试图进入MySQL Cli时,遇到错误:

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)

可能是因为客户端的版本和服务端的版本不一致,如果是这样,通常不存在/var/lib/mysql/mysql.sock。可以修改环境变量PATH来解决,让新安装的MySQL的bin目录位于PATH前头,如:

export MYSQL_HOME=/usr/local/mysql

export PATH=$MYSQL_HOME/bin:$PATH

export MANPATH=$MYSQL_HOME/man:$MANPATH

4.出现此错误代码:

TIMESTAMP with implicit DEFAULT value is deprecated
#执行MySQL的“bin/mysqld --initialize --user=mysql”时报的错误。

原因是从MySQL 5.6版本开始,timestamp的默认值已被标为deprecated,即如果类型为timestamp的字段,如果没有明确声明默认值为NULL,则默认为NOT NULL。如果设置timestamp字段为NULL,则自动存储当前的timestamp。

赞(6)
未经允许不得转载:微梦 - 邪少个人博客 » 配置MySQL5.7主从复制遇到的问题以及解决方案