MySQL:用户

来源:这里教程网 时间:2026-03-01 15:23:03 作者:

用户管理

创建用户

create user '<用户名>'@'localhost' identified by '<密码>'

删除用户(命令) 本地:localhost;

drop user <用户名>@'<主机域>';

删除用户(SQL 语句)

delete from mysql.user where user='<用户名>' and host='<主机域>';
flush privileges;

查询用户信息

select user,host from mysql.user;
select * from mysql.user\G;

连接用户

conn <用户名>/<密码

修改密码

--修改制定用户密码
mysql> ALTER USER 'jeffrey'@'localhost' IDENTIFIED BY 'mypass';
mysql> SET PASSWORD FOR 'jeffrey'@'localhost' = PASSWORD('mypass');
mysql> GRANT USAGE ON *.* TO 'jeffrey'@'localhost' IDENTIFIED BY 'mypass';
shell> mysqladmin -u user_name -h host_name password "new_password"
-- 修改自身密码
mysql> ALTER USER USER() IDENTIFIED BY 'mypass';
mysql> SET PASSWORD = PASSWORD('mypass')

资源管理

参数无法对每个用户区别对待,所以 MySQL 提供了对每个用户的资源限制管理

MAX_QUERIES_PER_HOUR:一个用户在一个小时内可以执行查询的次数(基本包含所有语句)

MAX_UPDATES_PER_HOUR:一个用户在一个小时内可以执行修改的次数(仅包含修改数据库或表的语句)

MAX_CONNECTIONS_PER_HOUR:一个用户在一个小时内可以连接MySQL的时间

MAX_USER_CONNECTIONS:一个用户可以在同一时间连接 MySQL 实例的数量

从 5.0.3 版本开始,对用户 ‘user’@‘%.example.com’ 的资源限制是指所有通过 example.com 域名主机连接 user 用户的连接,而不是分别指从 host1.example.com 和 host2.example.com 主机过来的连接

CREATE USER 'francis'@'localhost' IDENTIFIED BY 'frank'
WITH MAX_QUERIES_PER_HOUR 20
MAX_UPDATES_PER_HOUR 10
MAX_CONNECTIONS_PER_HOUR 5
MAX_USER_CONNECTIONS 2;

修改

ALTER USER 'francis'@'localhost' WITH MAX_QUERIES_PER_HOUR 100;

取消某项资源限制既是把原先的值修改成0

ALTER USER 'francis'@'localhost' WITH MAX_CONNECTIONS_PER_HOUR 0;

相关推荐