【问题标题】: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。

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

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

我需要帮助。

PS:

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

【问题讨论】:

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

标签: mysql ubuntu mysql-workbench


【解决方案1】:

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

方法如下:

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

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

【讨论】:

  • 在尝试与使用您的建议创建的新用户建立联系时,我被解雇了同样的错误
猜你喜欢
  • 1970-01-01
  • 2013-11-07
  • 2019-10-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多