用户管理
创建用户
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;
