ERROR 1045 (HY000): Access denied for user ‘mycat’, because password is error
Myca t-server-1.6.7.1 |
---|
windows10 |
mysql8.0.18 |
mycat能正常启动
登录报错
[root@localhost conf]# mysql -umycat -p123456 -P8066 -h192.168.40.128
mysql: [Warning] Using a password on the command line interface can be insecure.
ERROR 1045 (HY000): Access denied for user 'mycat', because password is error
参考
源代码debug,终于发现原因
通过前4张图我定位到问题,判断密码的函数在匹配密码长度时不符,直接跳出。
图5是我调试时跳过密码验证去使用我数据库,但是我没找到有那个跳过登陆验证的标签,有知道的望告知
后来看到mycat官方git上有人说用其他mysql其他版本登录可以,就尝试了下,真的可以
图六图七分别是我用5.6的和8.0的登陆的结果。
综上所述有两种方式
1.参考以上内容修改server.xml中的标签
<property name="nonePasswordLogin">1</property> <!-- 0为需要密码登陆、1为不需要密码登陆 ,默认为0,设置为1则需要指定默认账户-->
重新启动mycat无密码登录,访问成功
2另外的方法就是更换MySQL版本。
参考以下文章
https://blog.csdn.net/weixin_41108896/article/details/98364463