码迷,mamicode.com
首页 > 数据库 > 详细

mysql的账户管理

时间:2017-08-14 00:24:48      阅读:240      评论:0      收藏:0      [点我收藏+]

标签:let   使用方法   回收   str   权限列表   ring   mysql数据库   撤销   auth   

mysql中账户管理:

1 查看所有用户:
所有用户及权限信息都存储在mysql数据库中的user表中
查看user表的结构
desc user\G;

主要字段:
host: 表示允许访问的主机
user: 表示用户名
authentication_string: 加密后的密码
查看所有用户:
select host,user,authentication_string from user;

2 创建账户和授予权限:
需要使用账户登录后操作 例如使用root
常用权限:create alter drop insert update delete select
分配所有权限:all privileges

创建账户并授予权限:grant 权限列表 on 数据库 to "用户名"@"访问主机" identified by "密码";

举例:
1 登录root: mysql -u root -p
2 grant all privileges on python.* "py"@"%" identified by "123";
-- python数据库下所有表 拥有所有权限
-- 用户名py, %表示可以使用任意ip登录
-- 123为密码
3 退出root: quit;
4 登录py: mysql -u py -p

3 授权: grant 权限 on 数据库 to 账户1,账户2... with grant option;


4 查看某一个用户有哪些权限: show grants for 用户名;

5 回收权限: 用root登录后操作
撤销某用户的某权限: revoke 权限列表 on 数据库名.* from "用户名"@"主机";

6 修改密码:
方法1 不登录,在终端中: mysqladmin -u 用户名 -p password "新密码"
方法2 使用root登录,修改mysql数据库中user表
使用password()函数进行加密存入数据库
修改数据库之后要刷新权限才有效

在root登录状态下:
改user表:
update user set authentication_string = password("新密码") where user = "用户名";
刷新权限:
flush privileges;

7 删除账户:
方法1 使用root登录后:
drop user "用户名"@"主机";

方法2 使用root登录删除mysql库的user表中数据
delete from user where user = "用户名";
操作后必须刷新权限: flush privileges

推荐使用方法1,如果主机的字母大写时候,方法1会无效,再使用方法2。



mysql的账户管理

标签:let   使用方法   回收   str   权限列表   ring   mysql数据库   撤销   auth   

原文地址:http://www.cnblogs.com/Lin-Yi/p/7355366.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!