MYSQL用户权限管理
1.在MySQL中,用户是怎么定义的
#mysql中,定义一个用户是:
用户名@'主机域'
#用户名写法:
用户名如果是字符:
mysql> create user root@'10.0.0.1';
用户名是数字需要加引号:
mysql> create user '123'@'10.0.0.1';
#主机域的写法:
localhost
127.0.0.1
172.16.1.51
db01
172.16.1.%
172.16.1.5% #172.16.1.50-59
172.16.%.%
172.%.%.%
%
10.0.0.0/255.255.255.0
10.0.0.0/24 #可以设置,但是不生效
2.用户的管理
1.创建用户
mysql> create user root@'localhost';
mysql> grant all on *.* to root@'localhost' identified by '123';
mysql> insert ...
2.查看用户
mysql> select user,host from mysql.user;
3.修改用户密码
1.新安装的数据设置密码
[root@db01 ~]# mysqladmin -uroot password
New password:
Confirm new password:
2.命令行使用mysqladmin修改密码
[root@db02 ~]# mysqladmin -uroot -p123 password 123456
3.update修改用户密码
mysql> update mysql.user set password=PASSWORD('123') where user='root' and host='localhost';
4.修改当前用户密码
mysql> set password=password('123456');
5.grant修改密码
mysql> grant all on *.* to root@'localhost' identified by '123';
mysql> flush privileges;
4.删除用户
mysql> drop user qiudao@'10.0.0.0/24';
5.忘记root用户密码怎么办
1.停止数据库
systemctl stop mysqld
2.跳过授权表和网络启动
mysqld_safe --skip-grant-tables --skip-networking &
3.登录数据库
mysql
4.修改密码
mysql> flush privileges;
mysql> grant all on *.* to root@'localhost' identified by '123';
mysql> flush privileges;
5.退出重启数据库
mysqladmin -p123 shutdown
systemctl start mysqld