Mysql用户相关操作

创建用户

CREATE USER 'username'@'host' IDENTIFIED BY 'password';
  • username: 要创建的用户名。可以使用%通配符来指定用户名前缀,例如'username%'表示以username开头的所有用户名。

  • host: 指定用户可以从哪个主机连接到MySQL服务器。可以使用通配符%表示任何主机,例如'%''localhost'表示仅允许本地连接。

  • password: 用户的密码。密码必须符合MySQL的密码策略,例如长度、字符集等。

  • TABLESPACE: 指定用户默认使用的表空间。这对于使用存储引擎如InnoDB的用户特别有用,因为它定义了用户的数据和索引存储位置。

  • TEMPORARY TABLESPACE: 指定用户的临时表空间。这与默认表空间类似,但用于存储临时表和临时查询结果。

  • MAX_QUERIES_PER_HOUR: 指定用户在一小时内可以执行的查询的最大数量。这对于限制用户在特定时间段内的资源使用量非常有用。

  • MAX_UPDATES_PER_HOUR: 指定用户在一小时内可以执行的最大更新操作数。这可以限制对数据库的更改频率。

  • MAX_CONNECTIONS_PER_HOUR: 指定用户在一小时内可以建立的最大连接数。这有助于防止用户创建过多的并发连接而耗尽服务器资源。

  • MAX_USER_CONNECTIONS: 指定用户可以同时建立的最大连接数。这限制了单个用户可以同时拥有的连接数。

  • PLUGIN: 指定用于身份验证的插件。MySQL支持多种身份验证方法,例如mysql_native_passwordcaching_sha2_password等。

代码示例:

CREATE USER 'username'@'%' IDENTIFIED BY 'password' DEFAULT TABLESPACE 'tablespace_name' TEMPORARY TABLESPACE 'temp_tablespace_name' MAX_QUERIES_PER_HOUR 1000 MAX_UPDATES_PER_HOUR 500 MAX_CONNECTIONS_PER_HOUR 20 MAX_USER_CONNECTIONS 10 PLUGIN 'mysql_native_password';

指定密码验证方式

use mysql;
CREATE USER 'username'@'%' IDENTIFIED WITH mysql_native_password BY 'password';
FLUSH PRIVILEGES;

修改用户密码

use mysql;
ALTER USER 'username'@'%' IDENTIFIED WITH mysql_native_password BY 'password';
FLUSH PRIVILEGES;

创建用户,外部可访问,并授权某个数据库

use mysql;
CREATE USER 'username'@'host' IDENTIFIED WITH mysql_native_password BY 'password';  
GRANT ALL PRIVILEGES ON database.* TO 'username'@'host' WITH GRANT OPTION;  
FLUSH PRIVILEGES;

WITH GRANT OPTION 表示用户可以授权其他用户

WITH mysql_native_password 表示使用mysql_native_password 验证方式

外部访问需要改host为你自己的ip

删除用户

use mysql;
DROP USER 'username'@'host';


Mysql用户相关操作
https://lysowc.cn/archives/1719406566705
作者
sora
发布于
2024年06月26日
许可协议