1、命令行登录
方式1:有时候会提示不安全
mysql -u用户名 -p密码
方式2:推荐。
mysql -u用户名 -p
再输入密码
2、查询所有用户
简单查询: select user,host from mysql.user;
详细查询: select * from mysql.user;
3、创建用户
用法:
CREATE USER 'username'@'host' IDENTIFIED BY 'password';
参数说明:
1. username:你将创建的用户名
2. host:指定该用户在哪个主机上可以登陆,如果是本地用户可用localhost;如果想让该用户可以从任意远程主机登陆,可以使用通配符%
3. password:该用户的登陆密码,密码可以为空,如果为空则该用户可以不需要密码登陆服务器
例子:
CREATE USER 'dog'@'localhost' IDENTIFIED BY '123456';
CREATE USER 'pig'@'192.168.1.101_' IDENDIFIED BY '123456';
CREATE USER 'pig'@'%' IDENTIFIED BY '123456';
CREATE USER 'pig'@'%' IDENTIFIED BY '';
CREATE USER 'pig'@'%';
3、删除用户
用法
方式1:只删除user表中的内容,所以使用delete删除用户后需要执行FLUSH PRIVILEGES;刷新权限,否则下次使用create语句创建用户时会报错
Delete FROM user Where User='username' and Host='host';
flush privileges;
方式2:不仅会将user表中的数据删除,还会删除其他权限表的内容
drop user 'username'@'host';
注意:
- drop user XXX;删除已存在的用户,默认删除的是’XXX’@’%‘这个用户。
如果还有其他的用户如’XXX’@‘localhost’等,不会一起被删除。如果要删除’XXX’@‘localhost’,使用drop删除时需要加上host即drop user ‘XXX’@‘localhost’。 - delete from mysql.user where user = ‘YYY’;会把所有用户名为YYY的数据库用户都删掉。
五、权限grant
- 查询用户权限:
查询当前登录用户的权限:
show grants;
查询其他用户的权限:
show grants for '用户名'@'域名';
例如:show grants for 'root'@'localhost';
- 给用户授权
语法:
GRANT 权限 ON 数据库.* TO 用户名@'登录主机' IDENTIFIED BY '密码';
说明:
权限: ALL,ALTER,CREATE,DROP,SELECT,UPDATE,DELETE等
数据库:
*.* 表示所有库的所有表
digital_pub.* 表示digital_pub数据库的所有表
digital_pub.t_pub_goods 表示digital_pub库的t_pub_goods表
用户名:
MySQL的账户名
登陆主机:
允许登陆到MySQL Server的客户端ip
'%': 表示所有ip
'localhost': 表示本机
'10.155.123.%': 特定网段:10.155.123.xxx
'10.155.123.55': 特定IP
密码:
MySQL的账户名对应的登陆密码
注意:IDENTIFIED BY '密码': 该表达式可不写。