mysql权限操作

MySQL配置环境变量
可以利用window自带的cmd命令行窗口输入mysql指令
mysql -u xxx -p
输入密码 xxxx
welcome mysql.......
开始与之前所有在mysql中操作的一致
exit;

DCL数据控制语言 Data Control Language
控制用户的权限
grant赋予
revoke回收
1.我们现在的身份是一个SYSDBA管理员 root账号
  管理员可以操作其他普通用户的权限
  通过root账号查看mysql数据库中的user表格
  记录着所有的用户信息
  user列 host列  authentication_string列,老版本的密码存储列是password列,存储的是明文,现在使用authentication_string存储md5加密后的密文

select user,host,authentication_string from user;
2.先创建一个新的用户
  database table user
  create user '用户名'@'IP' identified by '密码';
  create user 'hb'@'localhost' identified by '666666';
  用户被创建成功啦(只有一个默认的权限 Usage 只允许登录 不允许做其他事情)
  通过这个语句show grants for '用户名'@'IP';
3.给新的用户赋予权限
  grant 权限 on 数据库名.表 to '用户名'@'IP';
  grant all on *.* to 'hb'@'localhost';
  赋予权限之后最好做一个刷新
  flush privileges;

4.回收用户的权限
  Usage-回收后只有初始登录权限
  revoke 权限 on 数据库名.表名 from '用户名'@'IP';

  revoke all on *.* from 'hb'@'localhost';
5.修改用户的密码
  update user表 set authentication_string = password('123') where user = 'hb';

  FLUSH PRIVILEGES;//不执行刷新,密码修改不生效。

6.删除用户
  drop user '用户名'@'IP';
  drop user 'hb'@'localhost';

7.查看当前登录用户

  select user();

  

常用的mysql权限如下:
数据库/数据表/数据列权限:
Create 建立新的数据库或数据表
Alter 修改已存在的数据表(例如增加/删除列)
Drop 删除数据表或数据库
Insert 增加表的记录
Delete 删除表的记录
Update 修改表中已存在的记录
Select 显示/搜索表的记录
-----------------------------------
References 允许创建外键
Index 建立或删除索引
Create View 允许创建视图
Create Routine 允许创建存储过程和包
Execute 允许执行存储过程和包
Trigger 允许操作触发器
Create User 允许更改、创建、删除、重命名用户和收回所有权限
全局管理MySQL用户权限:
Grant Option 允许向其他用户授予或移除权限
Show View 允许执行SHOW CREATE VIEW语句
Show Databases 允许账户执行SHOW DATABASE语句来查看数据库
Lock Table 允许执行LOCK TABLES语句来锁定表
File 在MySQL服务器上读写文件
Process 显示或杀死属于其它用户的服务线程
Reload 重载访问控制表,刷新日志等
ShutDown 关闭MySQL服务
特别的权限:
All 允许做任何事(和root一样)
Usage 只允许登录,其它什么也不允许做

posted on 2020-12-21 15:14  刀锋93  阅读(115)  评论(0编辑  收藏  举报

导航