Linux MySQL8 开启远程账号
在进行数据库开发或者管理的过程中,有时候我们需要远程连接MySQL数据库进行操作。但是,默认情况下,MySQL数据库是不允许远程连接的。因此,我们需要对MySQL进行配置,开启远程账号的访问权限。
本文将介绍如何在Linux系统下通过MySQL8开启远程账号,并提供相应的代码示例。
步骤一:修改MySQL配置文件
首先,我们需要修改MySQL的配置文件,以允许远程访问。我们可以通过以下步骤进行:
- 打开终端,输入以下命令登录MySQL:
sudo mysql -u root -p
- 输入密码后,进入MySQL控制台。接着,输入以下命令查看当前MySQL的监听地址:
SHOW VARIABLES LIKE 'bind_address';
-
如果结果显示为
127.0.0.1
,则说明MySQL只允许本地连接。我们需要修改配置文件,将其改为允许远程连接。 -
找到MySQL的配置文件
my.cnf
,一般在/etc/mysql/my.cnf
或者/etc/my.cnf
。 -
在配置文件中找到
[mysqld]
部分,添加以下内容:
bind-address = 0.0.0.0
- 保存文件并退出编辑器,然后重启MySQL服务:
sudo systemctl restart mysql
步骤二:创建远程账号
接下来,我们需要在MySQL中创建一个允许远程访问的账号,并设置相应的权限。我们可以通过以下步骤进行:
- 在MySQL控制台中,输入以下命令创建一个新用户(例如,用户名为
remote_user
,密码为password
):
CREATE USER 'remote_user'@'%' IDENTIFIED BY 'password';
- 接着,为该用户授予所有数据库的访问权限:
GRANT ALL PRIVILEGES ON *.* TO 'remote_user'@'%' WITH GRANT OPTION;
- 最后,刷新权限以使修改生效:
FLUSH PRIVILEGES;
示例代码
下面是一个使用Python连接MySQL数据库的示例代码:
import mysql.connector
# 连接MySQL数据库
mydb = mysql.connector.connect(
host="your_host",
user="remote_user",
password="password",
database="your_database"
)
# 创建游标对象
mycursor = mydb.cursor()
# 查询数据库中的数据
mycursor.execute("SELECT * FROM your_table")
# 获取查询结果
result = mycursor.fetchall()
# 打印结果
for row in result:
print(row)
# 关闭游标和数据库连接
mycursor.close()
mydb.close()
饼状图示例
pie
title Database Access Rights
"Read" : 45
"Write" : 25
"Delete" : 20
"Admin" : 10
类图示例
classDiagram
class User {
- username: string
- password: string
+ login()
+ logout()
}
结语
通过本文的介绍,我们学习了如何在Linux系统下通过MySQL8开启远程账号。首先,我们修改了MySQL的配置文件,允许远程连接;然后,我们创建了一个允许远程访问的账号,并设置了相应的权限。最后,我们还提供了一个Python代码示例,演示如何连接MySQL数据库进行操作。希望本文对你有所帮助,谢谢阅读!