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 只允许登录,其它什么也不允许做