Mariadb数据库用户及权限管理
一、用户管理:
1.创建用户:
方法一:直接创建用户:
create user 用户名@来源地址 identified by ‘登录密码’;
来源地址:
localhost --本机
192.168.150.% --网段
% --所有
方法二:在授权同时就创建用户:
grant 权限列表 on 数据库名.表名 to 用户名@来源 identified by 密码 [with grant option];
with grant option:这个选项表示该用户可以将自己拥有的权限授权给别人,可以不添加。
【注】可以使用grant重复给用户添加权限,进行权限叠加,记得授权后一定要刷新权限:flush privileges;
2.删除用户:
drop user 用户名@来源地址 ;
3.查看所有用户:
> select user,host from mysql.user;
+-------------+-------------------+
| User | Host |
+-------------+-------------------+
| admin | % |
| smart | % |
| tom | 192.168.131.4.254 |
| mariadb.sys | localhost |
| mysql | localhost |
| root | localhost |
+-------------+-------------------+
6 rows in set (0.002 sec)
4.用户重命名:
rename user ‘旧用户名’@‘旧主机’ to ‘新用户名’@‘新主机’;
5.用户修改密码:
方法一:运行mysqladmin脚本文件。
该文件一般在mysql安装目录下的bin目录中。
进入该目录,根据一下两种具体情况输入命令(只有root用户有这个权限)
(1).没有密码设置密码:mysqladmin -uroot password “密码”
(2).修改密码:mysqladmin -uroot -p"旧密码" password “新密码”
方法二:登录mysql数据库后修改密码:
mysql -uroot -p 旧密码
#1:alter user root@‘localhost’ identified by ‘123456’; // 5.5版本不支持
#2:set password for 用户@来源 = password(‘新密码’); #需要执行刷新权限 flush privileges;
#3:不建议
> update mysql.user set password=password(‘123456’) where User=“root” and Host=“localhost”;
> flush privileges;
#4:使用grant指令在授权时修改密码:
`grant select on 数据库名.数据表名 to 用户名@主机 identified by '新密码' with grant option;`
【注意】更改密码时候一定要使用password函数(mysqladmin 和GRANT 两种方式不用写,会自动加上)
二、权限管理:
- 授权:
grant 权限列表 on 数据库名.表名 to 用户名@来源地址;
可使用“*”表示所有数据库或所有数据表,“%”表示任何主机地址
- 收回权限:
revoke 权限列表 on 数据库名.表名 from 用户名@来源地址
- 查看当前用户具有哪些权限:
show grants;
- 查看某个用户具有哪些权限:
show grants for 用户名@来源地址;
【注】生产环境授权用户建议:
- 1.博客,CMS等产品的数据库授权:
select insert update delete create 库生成后收回create权限
- 2.生产环境主库用户授权:
select insert update delete
- 3.生产环境从库授权:
select