文章目录
1.mysql用户的定义
在mysql中,用户由用户名和主机域组成的。
1.1 用户名的写法
mysql> create user test1@'localhost';
注意:用户名不要以数字、符号开头,如若一定要这么写,给用户名加上引号才能创建用户。
1.2 用户中的主机域的写法
- 单个主机地址写法
127.0.0.1
::1
localhost
db01
- 范围型主机地址写法
172.16.1.%
172.16.%.%
172.%.%.%
%
172.16.1.5%
172.16.1.0/255.255.255.0
其中%
代表所有,如172.16.1.%
即代表172.16.1.0~172.16.1.255这个范围内的所有地址
2.用户管理
2.1 创建用户
mysql> CREATE USER test2@'localhost' IDENTIFIED BY '123';
Query OK, 0 rows affected (0.00 sec)
2.2 查看数据库中得所有用户
mysql> SELECT User,Host,Password FROM mysql.user;
2.3 删除创建的用户
mysql> DROP USER test2@'localhost';
2.4 修改用户密码
- 使用update命令修改密码
mysql> UPDATE mysql.user SET Password=PASSWORD('123') WHERE User='root' AND Host='localhost';
- 使用grant授权修改密码
mysql> GRANT ALL PRIVILEGES ON *.* TO root@'localhost' IDENTIFIED BY '123';
- 使用mysqladmin修改密码
#密码明文修改
mysqladmin -uroot -p123 password '456'
#不让密码显示出来
mysqladmin -uroot -p password
- 修改当前登录数据的用户密码
mysql> SET Password=PASSWORD('123');
3.用户权限管理
在mysql数据库中,给用户授权都是通过grant
命令来操作的
- 授权所有库、所有表
GRANT ALL PRIVILEGES ON *.* TO test03@'172.16.1.%' IDENTIFIED BY '123';
- 单库授权
GRANT ALL PRIVILEGES ON mysql.* TO test03@'172.16.1.%' IDENTIFIED BY '123';
- 单表授权
GRANT ALL PRIVILEGES ON mysql.user TO test03@'172.16.1.%' IDENTIFIED BY '123';
- 单列授权,在企业中也称为脱敏(脱离敏感信息)
GRANT SELECT(User,Host) ON mysql.user TO test03@'172.16.1.%' IDENTIFIED BY '123';