针对这个问题,“mysql提示Can't connect to MySQL server on localhost (10061)”出现后,我们可以尝试以下几个步骤来解决问题。
1、检查MySQL服务是否开启
首先,我们需要确认MySQL服务是否已经开启。可以通过以下方式检查服务状态:
sudo systemctl status mysql
如果服务已经开启,则会返回如下信息:
● mysql.service - MySQL Community Server
Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled)
Active: active (running) ...
如果服务未开启,则可以通过以下命令来开启MySQL服务:
sudo systemctl start mysql
2、检查MySQL连接参数设置
如果MySQL服务已经开启,那么问题可能是出现在连接参数设置上。我们需要检查MySQL连接参数设置是否正确,包括IP地址、端口、用户名、密码是否正确。在PHP代码中,也需要确认连接参数设置是否正确。
可以通过以下方式检查MySQL连接参数设置:
2.1、检查MySQL配置文件(my.cnf)
我们可以检查 MySQL 配置文件 my.cnf 是否设置正确。MySQL 默认配置文件位于 /etc/mysql/my.cnf。可以通过以下命令打开配置文件:
sudo nano /etc/mysql/my.cnf
在打开的文件中,我们需要确认以下参数设置是否正确:
bind-address = 127.0.0.1
port = 3306
其中,bind-address 参数表示 MySQL 服务监听的 IP 地址。在本地连接时,应该设置为 127.0.0.1。port 参数表示 MySQL 服务监听的端口。默认端口号为 3306。
2.2、检查PHP代码中的连接参数
如果 MySQL 配置文件中的连接参数设置正确,那么问题可能出现在 PHP 代码中的连接参数设置上。我们需要确认代码中的连接参数是否正确。
下面是一个连接 MySQL 数据库的 PHP 代码示例:
<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";
// 创建连接
$conn = mysqli_connect($servername, $username, $password, $dbname);
// 检查连接
if (!$conn) {
die("连接失败: " . mysqli_connect_error());
}
echo "连接成功";
在上述代码中,$servername 表示要连接的 MySQL 主机名或 IP 地址。如果 MySQL 数据库位于本地,则可以设置为 localhost。$username 和 $password 表示 MySQL 数据库的用户名和密码。$dbname 表示要连接的数据库名。
3、检查防火墙设置
如果以上两个步骤都检查无误,那么问题可能出现在防火墙设置上。我们需要检查防火墙是否阻止了 MySQL 的连接请求。
可以通过以下命令检查防火墙设置:
sudo ufw status
如果防火墙已经开启,则需要允许连接 MySQL 服务的请求。可以通过以下命令开启 MySQL 服务的端口:
sudo ufw allow mysql
总结
以上就是针对“mysql提示Can't connect to MySQL server on localhost (10061)”这个问题的解决方法。我们可以通过检查 MySQL 服务状态、连接参数设置、防火墙设置来解决该问题。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:mysql提示Can’t connect to MySQL server on localhost (10061)完美解决方法 - Python技术站