侧边栏壁纸
  • 累计撰写 9 篇文章
  • 累计创建 1 个标签
  • 累计收到 0 条评论
标签搜索

目 录CONTENT

文章目录

在MySQL中创建用户并赋予远程登录权限

Heras
2025-01-09 / 0 评论 / 0 点赞 / 15 阅读 / 635 字 / 正在检测是否收录...

在MySQL中,创建一个可以远程访问的用户,并授予其对特定数据库的权限是一个常见的需求。本文将详细介绍如何实现这一操作。

步骤一:登录到MySQL

首先,以管理员身份(例如 root 用户)登录到 MySQL:

mysql -u root -p

步骤二:创建数据库并设置编码

创建名为 project 的数据库,并使用 utf8mb4 编码:

CREATE DATABASE project CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

步骤三:创建用户并允许从任何 IP 地址访问

创建名为 myuser 的用户,并允许其从任何 IP 地址访问。设置密码,例如 myuser_password:

CREATE USER 'myuser'@'%' IDENTIFIED BY 'myuser_password';

步骤四:授予用户权限

授予 myuser 用户对 project 数据库的所有权限:

GRANT ALL PRIVILEGES ON project.* TO 'myuser'@'%';

步骤五:刷新权限

刷新权限表以使更改生效:

FLUSH PRIVILEGES;

完整的 SQL 脚本

以下是完整的 SQL 脚本,涵盖了创建数据库、用户并授予权限的全部步骤:

– 创建数据库并设置编码

CREATE DATABASE project CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

– 创建用户并设置允许从任何 IP 地址访问

CREATE USER 'myuser'@'%' IDENTIFIED BY 'myuser_password';

– 授予用户权限

GRANT ALL PRIVILEGES ON project.* TO 'myuser'@'%';

– 刷新权限

FLUSH PRIVILEGES;

删除已有的用户

如果已经存在名为 myuser 的用户,并且想要重新创建,可以先删除已有用户:

DROP USER 'myuser'@'localhost';
DROP USER 'myuser'@'%';
FLUSH PRIVILEGES;

配置 MySQL 允许远程访问

确保 MySQL 配置文件允许远程访问。编辑 MySQL 配置文件(如 /etc/mysql/mysql.conf.d/mysqld.cnf 或 /etc/my.cnf),找到以下行:

bind-address = 127.0.0.1

将其注释掉或修改为:

bind-address = 0.0.0.0

然后,重新启动 MySQL 服务:

sudo systemctl restart mysql

配置防火墙

如果你的服务器有防火墙,请确保允许 MySQL 端口(通常是 3306)通过防火墙。比如使用 ufw:

sudo ufw allow 3306/tcp

如果是阿里云服务器,可以在安全组入方向规则里把MySQL的端口打开

通过以上步骤,你可以成功创建一个可以远程访问 MySQL 数据库的用户,并授予其对特定数据库的操作权限。

0

评论区