本文主要是介绍MySQL管理,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
用户管理
MySQL中的用户,都存储在系统数据库MySQL中user表中
当我们做项目开发时,可以根据不同的开发人员,赋给他响应的MySQL操作权限
所以MySQL数据库管理人员(root),根据需要创建不同的用户,赋给相应的权限,供人员使用
- host:允许登录的“位置”,localhost表示该用户只允许本机登录,也可以指定ip地址;
- user:用户名;
- authentication_string:密码,是通过mysql的password()函数加密之后的密码。
- 创建用户
create user '用户名'@'允许登录位置' identified by 密码
说明:创建用户,同时指定密码;'用户名'@'允许登录位置'表示用户的完整信息
- 删除用户
drop user '用户名'@'允许登录位置'
- 用户修改密码
修改自己的密码:
set password = password('密码');
修改他人的密码(需要有修改用户密码权限):
set password for '用户名'@'登陆位置' = password('密码');
权限管理
- 给用户授权
grant 权限列表 on 库.对象名 to '用户名'@'登录位置' 【identified by 密码】
说明:
- 权限列表,多个权限用逗号分开
grant select on ...
grant select,delete,create on ...
grant all 【privileges】 on ... //表示赋予该用户在该对象上的所有权限
- 特别说明
.:代表本系统中所有数据库的所有对象(表,视图,存储过程)
库.*:表示某个数据库中的所有数据对象(表,视图,存储过程)
- identified by 可以省略,也可以写出。写出时:
(1)如果用户存在,就是修改该用户的密码
(2)如果该用户不存在,就是创建该用户
- 回收用户授权
revoke 权限列表 on 库.对象名 from '用户名'@'登录位置'
- 权限生效指令
如果权限没有生效,可以执行下面命令
FLUSH PRIVILEGES;
- 权限列表
| 权 限 | 作用范围 | 作 用 |
| all | 服务器 | 所有权限 |
| select | 表、列 | 选择行 |
| insert | 表、列 | 插入行 |
| update | 表、列 | 更新行 |
| delete | 表 | 删除行 |
| create | 数据库、表、索引 | 创建 |
| drop | 数据库、表、视图 | 删除 |
| reload | 服务器 | 允许使用flush语句 |
| shutdown | 服务器 | 关闭服务 |
| process | 服务器 | 查看线程信息 |
| file | 服务器 | 文件操作 |
| grant option | 数据库、表、存储过程 | 授权 |
| references | 数据库、表 | 外键约束的父表 |
| index | 表 | 创建/删除索引 |
| alter | 表 | 修改表结构 |
| show databases | 服务器 | 查看数据库名称 |
| super | 服务器 | 超级权限 |
| create temporary tables | 表 | 创建临时表 |
| lock tables | 数据库 | 锁表 |
| execute | 存储过程 | 执行 |
| replication client | 服务器 | 允许查看主/从/二进制日志状态 |
| replication slave | 服务器 | 主从复制 |
| create view | 视图 | 创建视图 |
| show view | 视图 | 查看视图 |
| create routine | 存储过程 | 创建存储过程 |
| alter routine | 存储过程 | 修改/删除存储过程 |
| create user | 服务器 | 创建用户 |
| event | 数据库 | 创建/更改/删除/查看事件 |
| trigger | 表 | 触发器 |
| create tablespace | 服务器 | 创建/更改/删除表空间/日志文件 |
| proxy | 服务器 | 代理成为其它用户 |
| usage | 服务器 | 没有权限 |
这篇关于MySQL管理的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!