本文整理自网络,侵删。
目录
- 概述
- 数据控制语言
- MySQL权限体系
- 用户管理
- 创建用户
- 删除用户
- 修改密码
- 权限管理
- 查看权限
- 用户授权
- 撤销授权
- 刷新权限
- 注意事项
概述
从今天开始, 小白我将带领大家一起来补充一下 数据库的知识.
数据控制语言
数据控制语言 (Data Control Language) 是用来设置或更改数据库用户或角色权限的语句.
| 层级 | 描述 |
|---|---|
| 全局层级 | 适用于一个给定服务器中的所有数据库. 这些权限存储在 mysql.user 表中 |
| 数据库层级 | 适用于一个给定数据库中的所有目标. 这些权限存储在 mysql.db 和 mysql.host 表中 |
| 表层级 | 适用于一个给定表中所有的列. 这些权限存储在 mysql.tables_priv 表中 |
| 列层级 | 使用于一个给定表中的单一列. 这些权限存储在 mysql.columns_priv 表中 |
| 子程序层级 | CREATE ROUTINE, ALTER ROUTINE, EXECUTE 和 GRANT 权限适用于已存储的子程序. 这些权限可以被授予为全局层级和数据库层级 |
MySQL 权限体系
MySQL 的权限信息主要存储在以下几张表中, 当用户连接数据库时, MySQL 会根据这些表对用户进行权限验证.
| 表名 | 描述 |
|---|---|
| user | 用户权限表, 记录账号, 密码及全局性权限信息 |
| db | 记录数据库相关权限 |
| table_priv | 用户对某个表拥有的权限 |
| column_priv | 用户对某表某个列所拥有的权限 |
| procs_priv | 用户对存储过程及存储函数的操作权限 |
用户管理
在 MySQL 中, 使用 CREATE USER 来创建用户, 用户创建后没有任何权限.
查看所有用户:
创建用户
MySQL 的用户账号由两部分组成: 用户名和主机名, 即用户名@主机名,主机名可以是 IP 或机器名称, 主机名为%表示允许任何地方的主机远程登录 MySQL 数据库.
格式:
CREATE USER '用户名' [@'主机名'][IDENTIFIED BY '密码'];
例子:
<?php
$conn = mysqli_connect("localhost", "root","admin","mysql");
if ($conn) {
echo "数据库连接成功\n";
} else {
echo mysqli_connect_error();
}
# SQL语句
$SQL = "CREATE USER 'user1'@'%'
IDENTIFIED BY '123456'";
# 执行
$result = mysqli_query($conn, $SQL);
# 查看是否执行成功
if ($result) {
echo "SQL 语句执行成功!\n";
}else {
echo mysqli_error($conn);
}
# 关闭连接
mysqli_close($conn);
?>
效果:
相关阅读 >>
更多相关阅读请进入《sql》频道 >>
数据库系统概念 第6版
机械工业出版社
本书主要讲述了数据模型、基于对象的数据库和XML、数据存储和查询、事务管理、体系结构等方面的内容。
转载请注明出处:木庄网络博客 » MySQL与PHP的基础与应用专题之数据控制
标签:sql
相关推荐
评论
管理员已关闭评论功能...