错误:“无法连接到数据库服务器”

Posted

技术标签:

【中文标题】错误:“无法连接到数据库服务器”【英文标题】:Error: "Cannot Connect to Database Server" 【发布时间】:2021-09-15 21:57:29 【问题描述】:

我目前无法从 mysql 工作台主页访问本地 MySQL 实例。 主要是,我尝试在我的 Ubuntu PC 上安装 LAMP 堆栈,遵循一个名为“安装 Apache、MySQL 和 php”的 LinkedIn 学习视频教程。

首先,我使用sudo apt-get install apache2 安装了apache。其次,我使用sudo apt-get install php libapache2-mod-php-mysql 安装了PHP。 然后,我使用sudo apt-get install mysql-server安装了 MySQL 服务器 除此之外,我还运行了 mysql_secure_installation 实用程序。当系统提示一些问题时,以下是我提供的答案:

您是否要设置验证密码组件:是 密码验证策略级别:低 新密码:PASSWORD 重新输入密码:PASSWORD 删除匿名用户?:跳过 远程禁止root登录?跳过 删除测试数据库并访问它?跳过 现在重新加载权限表?跳过 全部完成!

接下来,我使用sudo snap install mysql-workbench-community安装了mysql-workbench

安装完成后,我打开mysql-workbench,尝试通过mysql-workbench主页上的引用访问本地MySQL实例。 我失败并被解雇了一个“无法连接到数据库服务器”错误

这是错误的完整说明:

您的用户“root”连接到位于 localhost:3306 的 MySQL 服务器的尝试失败: AppArmor 策略阻止此发件人将此消息发送给此收件人; type="method_call", sender=":1.141" (uid=1000 pid=23118 comm="/snap/mysql-workbench-community.mysql-workbench-community (enforce)") interface="org.freedesktop.Secret. Service" member="OpenSession" error name"(unset)" requested_reply="0" destination=":1:14" (uid=1000 pid=933 comm="/usr/bin/gnome-keyring-daemon --daemonize --login " label="无限制") 请: 1 检查 MySQL 是否在地址 localhost 上运行 2 检查 MySQL 在端口 3306 上是否可以访问(注意:3306 是默认值,但可以更改) 3 检查用户 root 是否有权从您的地址连接到 localhost(MySQL 权限定义了哪些客户端可以连接到服务器以及从哪些机器) 4 确保您在需要时提供密码,并使用正确的密码从您要连接的主机地址连接到 localhost。

我浏览了以下建议的清单:

    我跑了mysql> show global variables like 'port',发现我的MySQL运行在3306端口,这是本地主机端口。 我运行netstat -tln 并发现服务器正在侦听端口3306,这肯定是MySQL。 我运行mysql -u root -p -h 127.0.0.1 -P 3306,在提示输入密码后,我可以从终端访问 MySQL 服务器。 我什至没有提示提供密码,因为我在单击本地实例的引用后立即收到错误消息。

我需要帮助。

PS:

    我无法使用 sudo apt-get install mysql-workbench 安装 MySQL 工作台,因为我收到以下错误:“E: 无法找到包 mysql-workbench”。 mysql-workbench 安装完成后,我收到提示:mysql-workbench-community 8.0.22 from Tonin Bolzan (tonybolzan) 已安装

【问题讨论】:

SELinux , setenforce 0 我不明白你的评论伙伴 这似乎是您的确切错误:askubuntu.com/questions/1242026/… @EricShieh 是的,这正是我遇到的问题,那里建议的解决方案对我有用 【参考方案1】:

在大多数现代 Ubuntu 发行版上,只有 sudo 可以连接到 root MySQL 帐户。您需要为自己创建一个管理员帐户,然后 MySQL Workbench 和其他系统可以使用该帐户。

方法如下:

    使用 Ubuntu,打开终端(如果是服务器,则通过 SSH 连接到机器) 使用root 帐户连接到 MySQL:
    sudo mysql
    
    为自己创建一个帐户:
    CREATE USER 'russel'@'localhost' IDENTIFIED WITH mysql_native_password BY 'superSecretPassword!123';
    
    授予帐户对所有内容的完全访问权限:
    GRANT ALL ON *.* TO 'russel'@'localhost' WITH GRANT OPTION;
    
    更新 MySQL Workbench 以使用您的新帐户

这应该会让你继续前进。理想情况下,root MySQL 帐户只会在设置复制或修复出现严重错误的东西时使用。其他一切都应通过管理员帐户完成。

【讨论】:

在尝试与使用您的建议创建的新用户建立联系时,我被解雇了同样的错误

以上是关于错误:“无法连接到数据库服务器”的主要内容,如果未能解决你的问题,请参考以下文章

无法连接到数据库服务器:SQLSTATE [HY000]:一般错误:1835 格式错误的通信数据包 [重复]

无法连接到数据库服务器(mysql 工作台)

无法连接到数据库服务器 [1040]啥意思

无法使用Debian 9下的mysql工作台连接到数据库服务器

用户帐户“root”的指定密码无效,或无法连接到数据库服务器

无法连接到数据库服务器问题,怎么解决