回顾今天的数据库实验⊂(ο・㉨・ο)⊃

先新建一个测试数据库

mysql如何创建用户 mysql怎么创建用户表_服务器

再创建个表填些数据

mysql如何创建用户 mysql怎么创建用户表_服务器_02

一、查看用户
查看用户并没有直接的SQL语句,而是进入 mysql 数据库的 user 表(这个mysql库和user表都是一开始就有的),直接用 select * from user;来查看有什么用户
use mysql;select * from user;
二、创建用户
create user 'user_name'@'host' identified by 'password';
user_name:要创建用户的名字。
host:表示要这个新创建的用户允许从哪台机登陆,如果只允许从本机登陆,则 填 ‘localhost’ ,如果允许从远程登陆,则填 ‘%’
password:新创建用户的登陆数据库密码,如果没密码可以不写。
创建不同限制的账户
-- 创建账户,"%"是无登录限制的,“123”是密码create user 'liwker'@'%' identified by '123';-- "localhost"是限制为本地登录create user 'liwker'@'localhost' identified by '123';-- 这个是限制 ip 为 10.11.20.30 的主机访问create user 'liwker'@'10.11.20.30' identified by '123';
二、分配权限
grant privileges on databasename.tablename to 'username'@'host';
privileges:表示要授予什么权力,例如可以有 select , insert ,delete,update等,如果要授予全部权力,则填 ALL
databasename.tablename:表示用户的权限能用在哪个库的哪个表中,如果想要用户的权限很作用于所有的数据库所有的表,则填 " *.* ",* 是一个通配符,表示全部。
’username‘@‘host’:表示授权给哪个用户,username 的引号可以不加哦,但 host 必须加。
为账户分配不同的权限
-- Liwker库的student表的 只读权限 分配给 liwker 账户grant select on Liwker.student to liwker@'%';-- Liwker库(所有表)的 多个权限 分配给 liwker 账户grant select,insert,delete,update on Liwker.* to liwker@'%';-- Liwker库的 所有权限 分配给 liwker 账户grant all on Liwker.* to liwker@'%';-- 所有库的 所有权限 分配给 liwker 账户grant all on *.* to liwker@'%';-- 刷新权限flush privileges;
权限列表:
ALTER: 修改表和索引。
CREATE: 创建数据库和表。
DELETE: 删除表中已有的记录。
DROP: 抛弃(删除)数据库和表。
INDEX: 创建或抛弃索引。
INSERT: 向表中插入新行。
REFERENCE: 未用。
SELECT: 检索表中的记录。
UPDATE: 修改现存表记录。
FILE: 读或写服务器上的文件。
PROCESS: 查看服务器中执行的线程信息或杀死线程。
RELOAD: 重载授权表或清空日志、主机缓存或表缓存。
SHUTDOWN: 关闭服务器。
ALL: 所有权限,ALL PRIVILEGES同义词。
USAGE: 特殊的 "无权限" 权限.
可根据上面的权限字段 为用户分配相应的权限
注意:
用以上命令授权的用户不能给其他用户授权,如果想这个用户能够给其他用户授权,就要在后面加上 WITH GRANT OPTION 如:
grant all on *.* to 'liwker'@'%' with grant option;
补充 为用户创建数据库:
create database basename DEFAULT CHARSET utf8 COLLATE utf8_general_ci;