这个系列属于个人学习网易云课堂MySQL数据库工程师微专业的相关课程过程中的笔记,本篇为其“MySQL数据库对象与应用”中的MySQL数据类型相关笔记。
所有笔记可能不定期更新,发布时不一定为最终版。
网络畅通
用户名密码正确
数据库需添加ip白名单
更细粒度的验证(库表列权限类型等)
数据层次的权限
data:select,insert,update,delete
应用于逻辑对象
DataBase:create,alter,drop
Table:create,alter,drop
view/function/trigger/procedure:create,alter,drop
管理权限
Shutdown DataBase
关闭数据库
Replication Slave
搭建数据库储存结构
Replication Client
数据库储存结构的一种权限
File Privilege
文件权限,将数据库的数据文本导出等操作。
1、使用mysql自带
create user 'netease'@'localhost' indentified by 'netease163';
grant select on *.* to 'netease'@'localhost' whith grant option;
2、更改数据库记录
3、grant语句会判断是否存在该用户,若不存在则创建新的。
grant select on *.* to 'netease'@'localhost' indentified by 'netease163' with grant option;
查看当前用户:
show grants;
查看其他用户权限
show grants for netease@'localhost';
回收不需要的权限
revoke select on *.* from netease@'localhost';
重新赋权
grant insert on *.* to netease@'localhost';
1、用新密码,grant语句重新授权
2、更改数据记录,update user表的Password字段
注意:用这种办法,更改完需要flush privileges刷新权限信息,不推荐
drop user;
高危操作
允许被授予权利的人把这个权利授予其他人
mysql权限信息是存储在数据表中的
mysql账号对应的密码也加密存储在数据库表中
每一种权限类型在元数据里都是枚举类型,表明是否有该权限。
使用Binary二进制安装管理用户没设置密码
Mysql默认的test库不受权限控制,存在安全风险。
二进制包中的的命令
可以为root设置一个密码
可以删除非本机登陆的root用户
可以删除一些空用户。
可以删除test database
权限相关操作不要直接操作表,统一使用mysql命令。
使用二进制安装mysql安装后,需要重置管理用户(root)密码。
线上数据库不要留test库。