错误:“无法连接到数据库服务器”
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 格式错误的通信数据包 [重复]
无法使用Debian 9下的mysql工作台连接到数据库服务器