本篇我们将详细讲解 MySQL 8.0 中创建用户并赋予权限的操作。
一、mysql_native_password认证方式
1.1 登录 MySQL
首先,你需要使用具有足够权限的用户(通常是 root 用户)登录到 MySQL 服务器。在命令行或终端中使用以下命令:
Bash
mysql -u root -p
输入 root 用户的密码后,即可进入 MySQL 命令行界面。
1.2 创建用户
使用 CREATE USER
语句创建新用户。MySQL 8.0 推荐使用 IDENTIFIED WITH mysql_native_password BY 'password'
语法来指定密码和认证方式,以提高安全性。
SQL
CREATE USER 'username'@'host' IDENTIFIED WITH mysql_native_password BY 'password';
username
: 你要创建的用户名。host
: 指定用户可以从哪个主机连接到 MySQL 服务器。'%'
: 允许用户从任何主机连接。(不推荐在生产环境中使用,安全性较低)'localhost'
: 只允许用户从本地主机连接。'192.168.1.%'
: 允许用户从 192.168.1.0/24 网段的主机连接。'specific_ip'
: 允许用户从特定 IP 地址的主机连接。
password
: 你要设置的用户密码。请务必使用强密码。
示例:
创建一个名为 testuser
,密码为 TestPass123!
,允许从任何主机连接的用户:
SQL
CREATE USER 'testuser'@'%' IDENTIFIED WITH mysql_native_password BY 'TestPass123!';
创建一个名为 localuser
,密码为 LocalPass456!
,只允许从本地主机连接的用户:
SQL
CREATE USER 'localuser'@'localhost' IDENTIFIED WITH mysql_native_password BY 'LocalPass456!';
1.3.授予权限
使用 GRANT
语句为用户授予权限。语法如下:
SQL
GRANT privileges ON database.table TO 'username'@'host';
privileges
: