Linux MySQL8 开启远程账号

在进行数据库开发或者管理的过程中,有时候我们需要远程连接MySQL数据库进行操作。但是,默认情况下,MySQL数据库是不允许远程连接的。因此,我们需要对MySQL进行配置,开启远程账号的访问权限。

本文将介绍如何在Linux系统下通过MySQL8开启远程账号,并提供相应的代码示例。

步骤一:修改MySQL配置文件

首先,我们需要修改MySQL的配置文件,以允许远程访问。我们可以通过以下步骤进行:

  1. 打开终端,输入以下命令登录MySQL:
sudo mysql -u root -p
  1. 输入密码后,进入MySQL控制台。接着,输入以下命令查看当前MySQL的监听地址:
SHOW VARIABLES LIKE 'bind_address';
  1. 如果结果显示为 127.0.0.1,则说明MySQL只允许本地连接。我们需要修改配置文件,将其改为允许远程连接。

  2. 找到MySQL的配置文件 my.cnf,一般在 /etc/mysql/my.cnf 或者 /etc/my.cnf

  3. 在配置文件中找到 [mysqld] 部分,添加以下内容:

bind-address = 0.0.0.0
  1. 保存文件并退出编辑器,然后重启MySQL服务:
sudo systemctl restart mysql

步骤二:创建远程账号

接下来,我们需要在MySQL中创建一个允许远程访问的账号,并设置相应的权限。我们可以通过以下步骤进行:

  1. 在MySQL控制台中,输入以下命令创建一个新用户(例如,用户名为 remote_user,密码为 password):
CREATE USER 'remote_user'@'%' IDENTIFIED BY 'password';
  1. 接着,为该用户授予所有数据库的访问权限:
GRANT ALL PRIVILEGES ON *.* TO 'remote_user'@'%' WITH GRANT OPTION;
  1. 最后,刷新权限以使修改生效:
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数据库进行操作。希望本文对你有所帮助,谢谢阅读!