本地 MySQL 连接从 tcp 失败

本地 MySQL 连接从 tcp 失败

在将我的 vps 升级为 Ubuntu 16.04 后(大约一个月后),我需要使用在那里运行的 MySQL 服务器。实际上它是一个 MariaDB 实例,但似乎没有什么区别。由于我无法像往常一样使用 ssh 隧道连接,我尝试直接从远程 shell 访问并使用mysqlcli 界面,它可以工作。问题是我需要使用本地 IP 的 MySQL 服务器(用于远程隧道或 php 上的 mysqli)。尝试强制使用 tcp 连接时,mysql --protocol tcp我得到了ERROR 1698 (28000): Access denied for user 'root'@'localhost',而 php 给出了此警告:mysqli::__construct(): (HY000/1698): Access denied for user 'root'@'localhost'

我尝试清除 MariaDB,重新安装它,尝试使用 MySQL 包本身,删除每个 mysql 配置和文件,但没有结果。

配置总是包含bind-address = 127.0.0.1相关端口并且没有注释但似乎没用。

有任何想法吗?

答案1

我找到了。有一个unix_socket与 root 帐户关联的插件。我刚刚运行update user set plugin='';并重新启动了该mysql进程,它就起作用了。

相关内容