用sqlyog连接8.0.23版本的mysql发生1251错误
下载8.0版本的mysql时候发现最好直接下载.msi的安装文件,方便许多,好,接下来说问题。
因为之前装的是5.5版本的,但是timstamp在建表的时候只能有一条,然后5.5版本的不支持窗口函数,所以决定安装8.0版本的,稳不稳定就再说吧,反正用于本地测试语句的。。。
上网查了一下产生的原因:
主要是由于mysql8.0以前的加密规则与mysql8.0以后的存在差异,客户端和服务端版本差别太大导致的。
解决办法:
1.首先mysql8.0版本必须是装好了的。
2.点击电脑左下角的‘开始’。
3.然后在所有程序里面启动客户端(任意一个)
4.服务启动成功之后,输入密码,然后回车。
5.然后在mysql>后输入(下面三条命令一次输入一条,并按回车)
第一条:
ALTER USER ‘root’@‘localhost’ IDENTIFIED BY ‘password’ PASSWORD EXPIRE NEVER; #修改加密规则
第二条:
ALTER USER ‘root’@‘localhost’ IDENTIFIED WITH mysql_native_password BY ‘password’;
#更新一下用户的密码,password为自己想要输入的密码例如’123456’,这里要把密码写在引号内,引号不要删掉!!
第三条:
FLUSH PRIVILEGES; #刷新权限
当你看到三条Query OK的时候就可以关掉客户端了,然后再sqlyog输入新密码和端口号就能连接上了。