ProxySQL管理端口出现“ERROR 1045 (28000)“及“ERROR 2003 (HY000)“错误的解决方法

Posted bkzy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ProxySQL管理端口出现“ERROR 1045 (28000)“及“ERROR 2003 (HY000)“错误的解决方法相关的知识,希望对你有一定的参考价值。

问题

在为ProxySQL添加完毕mysql_users用户表,重启完毕之后再也登录不进6032管理端口了,登录时报错为:
ERROR 1045 (28000): ProxySQL Error: Access denied for user 'admin'@'127.0.0.1(using password: YES)
登录时添加--default-auth=mysql_native_password也是一样报错。

在proxysql的github仓库issues中查询发现有人提过类似的问题,通过该问题找到了答案,同时我也才想到在出现问题前我也的确在mysql_users中添加了一个admin账号,然后就不能使用了:

解决方法

问题找到了,进不去管理账号,如何解决?
我把proxysql的数据库文件/var/lib/proxysql.db复制到了一个装有Navicat的机器上,直接用Navicat连接Sqlite数据库proxysql.db,删除了表mysql_users中的admin一行,再把proxysql.db移回/var/lib/
但是,但是,启动proxysql后,新的问题出现了:
ERROR 2003(HY000): Can't connect to MySQL server on '127.0.0.1:6032' (111)

竟然还是连接不上。
问百度,无果。
自己查。

排查解决过程

查询端口是否打开:

netstat -ntelp | grep 6032


果然没有端口,但proxysql在正常运行。
查看权限:

果然移动过后的proxysql.db的所有者发生了改变,变成了root账号。
停掉proxysql服务,修改权限,再重启,6032端口出现了,也能正常登录了。

# 停服务
sudo service proxysql stop
# 改用户
sudo chown proxysql:proxysql /var/lib/proxysql/proxysql.db
# 重启服务
sudo service proxysql start
# 查端口
netstat -ntelp | grep 6032
# 登录
mysql -uadmin -padmin -h127.0.0.0 -P6032 --promtp='proxy> '


等折腾好,发现已经半夜2点多了。
头就是这么秃的!

以上是关于ProxySQL管理端口出现“ERROR 1045 (28000)“及“ERROR 2003 (HY000)“错误的解决方法的主要内容,如果未能解决你的问题,请参考以下文章

ProxySQL管理端口出现“ERROR 1045 (28000)“及“ERROR 2003 (HY000)“错误的解决方法

MySQL中间件之ProxySQL:Admin管理接口

ProxyMySQL的Admin管理接口

MySQL ERROR 1045 (28000): Access denied for user 'root'@'192.168.23.224' (using pass

用grant命令为用户赋权限以后,登录时,出现:ERROR 1045 (28000)

mysql输入正确密码无法登陆,出现ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘ (using password:yes)