以下是详细讲解“Centos忘记mysql密码及允许远程连接的方法”的完整攻略:
1. 重置丢失的MySQL root密码
1.1 关闭MySQL服务
在执行密码重置之前,必须先关闭MySQL服务。
sudo systemctl stop mysqld
1.2 启动MySQL不检查权限表
sudo mysqld_safe --skip-grant-tables &
1.3 以root用户重新连接MySQL
mysql -u root
1.4 更新root用户密码
执行以下命令更新root密码(密码是123456)。
mysql> use mysql;
mysql> update user set authentication_string=PASSWORD('123456') where User='root';
mysql> flush privileges;
mysql> quit;
1.5 关闭MySQL Server并重新启动
sudo systemctl stop mysqld
sudo systemctl start mysqld
现在,你可以使用新的root密码连接到MySQL服务器。
2. 允许远程连接到MySQL
2.1 编辑MySQL配置文件
sudo vi /etc/my.cnf
2.2 添加以下内容到配置文件中
[mysqld]
port = 3306
bind-address = 0.0.0.0
2.3 保存并关闭文件,重启MySQL服务
sudo systemctl restart mysqld
现在,MySQL已经允许远程连接。
示例1
如果你想使用Python连接到MySQL服务器,那么你可以使用PyMySQL
库。
import pymysql
# 建立连接
conn = pymysql.connect(
host="192.168.1.1",
port=3306,
user="root",
password="123456"
)
# 获取游标
cursor = conn.cursor()
# 执行查询
cursor.execute("SELECT VERSION()")
# 获取结果
data = cursor.fetchone()
print("MySQL版本:", data)
# 断开连接
cursor.close()
conn.close()
上面的代码中,我们使用Python连接到MySQL服务器并执行SELECT VERSION()查询。host
参数指定了MySQL服务器的IP地址,port
参数指定了MySQL服务器的端口号,user
和password
参数指定了用户名和密码。
示例2
如果你在本地运行MySQL服务器并希望在其他计算机上连接到该服务器,那么你需要使用远程桌面软件(如:Xming、PuTTY、WinSCP等),以便建立安全的SSH隧道并向MySQL服务器发送命令。
ssh -L 3306:localhost:3306 user@remote-hostname
在本地主机上打开MySQL客户端并输入以下命令:
mysql -u root -p -h localhost
这将会连接到远程MySQL服务器,允许你执行任何查询。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Centos忘记mysql密码及允许远程连接的方法 - Python技术站