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

时间:2021-07-05 04:25:09

标签: mysql ubuntu mysql-workbench


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

首先,我使用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 实用程序。当提示一些问题时,以下是我提供的答案:

<块引用>

是否要设置 VALIDATE PASSWORD 组件:是
密码验证策略级别:LOW
新密码: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。服务"成员="OpenSession"错误名称"(未设置)"requested_reply="0"目标=":1:14"(uid=1000 pid=933 comm="/usr/bin/gnome-keyring-daemon --daemonize --login " label="unconfined")
请:
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. 我什至没有被提示提供密码,因为我在单击本地实例的引用后立即收到错误消息。

我需要帮助,请。

附注:

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

1 个答案:

答案 0 :(得分:0)

在大多数现代 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 帐户只会在设置复制或修复出现严重错误的情况时使用。其他一切都应通过管理员帐户完成。