微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

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


我目前无法从 MysqL 工作台主页访问 MysqL 的本地实例。
主要是,我尝试按照 LinkedIn 学习视频教程“安装 Apache、MysqLPHP”在我的 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

解决方法

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?