Mysql 8 远程访问

作者:编程家 分类: mysql 时间:2025-06-02

MySQL 8 远程访问

MySQL 是一个开源的关系型数据库管理系统,它被广泛应用于各种应用程序的数据存储和管理。MySQL 8 版本提供了强大的功能和性能改进,其中之一是远程访问数据库的能力。本文将介绍如何在 MySQL 8 中进行远程访问,并提供一些案例代码来帮助读者更好地理解。

配置 MySQL 8 允许远程访问

在默认情况下,MySQL 8 是不允许远程访问的,为了能够在远程主机上访问 MySQL 8 数据库,我们需要进行一些配置。以下是配置 MySQL 8 允许远程访问的步骤:

步骤 1:编辑 MySQL 配置文件

首先,我们需要编辑 MySQL 的配置文件,可以使用任何文本编辑器打开文件 `/etc/mysql/mysql.conf.d/mysqld.cnf`。在文件中找到并修改以下行:

bind-address = 127.0.0.1

将其改为:

bind-address = 0.0.0.0

这将允许 MySQL 监听所有网络接口上的连接请求。

步骤 2:修改用户访问权限

默认情况下,MySQL 8 中的用户只能从本地主机进行访问。为了允许远程主机访问,我们需要修改用户的访问权限。可以使用以下命令登录到 MySQL 服务器:

mysql -u root -p

然后执行以下命令修改用户的访问权限:

sql

GRANT ALL PRIVILEGES ON *.* TO 'username'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;

其中,`username` 是你要允许远程访问的用户名,`password` 是该用户的密码。`%` 表示允许来自任何主机的连接。

步骤 3:重启 MySQL 服务

完成以上步骤后,我们需要重启 MySQL 服务使配置生效。可以使用以下命令重启 MySQL 服务:

sudo systemctl restart mysql

现在,MySQL 8 已经配置好允许远程访问了。

案例代码:使用 Python 连接远程 MySQL 数据库

下面是一个使用 Python 连接远程 MySQL 数据库的简单示例代码:

python

import mysql.connector

# 创建数据库连接

mydb = mysql.connector.connect(

host="remote_host",

user="username",

password="password",

database="database_name"

)

# 创建游标对象

mycursor = mydb.cursor()

# 执行 SQL 查询

mycursor.execute("SELECT * FROM table_name")

# 获取查询结果

result = mycursor.fetchall()

# 打印查询结果

for row in result:

print(row)

在代码中,我们使用 `mysql.connector` 模块来连接远程 MySQL 数据库。需要将 `remote_host` 替换为远程主机的 IP 地址或域名,`username` 和 `password` 替换为具有访问权限的用户名和密码,`database_name` 替换为要连接的数据库名称,`table_name` 替换为要查询的表名。

以上就是关于 MySQL 8 远程访问的介绍和案例代码。通过配置 MySQL 8 的允许远程访问和使用适当的代码,我们可以轻松地从远程主机访问和操作 MySQL 8 数据库。