文章目录
前言
用户创建,操作权限,访问权限① 创建用户
CREATE USER 'username'@'host' IDENTIFIED BY 'password';
- username : 你准备创建的用户名
- host : 指定该用户可以在哪个主机连接登录 , 如果是本地用户使用 localhost , 如果用户想从任意远程主机连接登录, 可以使用 % . (或者指定固定IP都可以)
- password : 该用户的登录密码,密码可以为空,如果为空则该用户可以不需要密码登陆服务器
(〃‘▽’〃) 示例 :
## 创建一个用户名为 miduo , 密码为 dev1024 只允许在本地登录的账号 。
CREATE USER 'miduo'@'localhost' IDENTIFIED BY 'dev1024';
## 创建一个用户名为 miduo , 密码为 dev1024 只允许在 IP 为 192.168.1.101 的主机上登录的账号 。
CREATE USER 'miduo'@'192.168.1.101' IDENTIFIED BY 'dev1024';
## 创建一个用户名为 miduo , 密码为 dev1024 允许在任意主机上登录的账号 。
CREATE USER 'miduo'@'%' IDENTIFIED BY 'dev1024';
## 创建一个用户名为 miduo , 没有密码 允许在任意主机上登录的账号 。
CREATE USER 'miduo'@'%' IDENTIFIED BY '';
## 创建一个用户名为 miduo , 没有密码 允许在任意主机上登录的账号 。
CREATE USER 'miduo'@'%';
② 用户授权
GRANT privileges ON databasename.tablename TO 'username'@'host';
- privileges : 用户的操作权限,如SELECT,INSERT,UPDATE等,如果要授予所的权限则使用ALL
- databasename : 数据库名
- tablename : 表名
(〃‘▽’〃) 示例 :
## 授权 miduo 操作所有数据库所有权限
## ALL 代表所有操作权限
## *.* 代表所有数据库的所有表
## % 允许远程访问
GRANT ALL ON *.* TO 'miduo'@'%';
## 授权 miduo 用户 操作数据库mes下user表 查看和新增的权限 。开放远程访问
GRANT SELECT, INSERT ON mes.user TO 'miduo'@'%';
## 授权 miduo 用户 操作数据库mes下所有表 所有权限 。开放远程访问
GRANT ALL ON mes.* TO 'miduo'@'%';
注意:
以上命令只能使用 root 账户执行授权。
如果想使用其他账号 (前期是此账号有所有操作权限) 可在以上命令后加上 WITH GRANT OPTION;
## root 账号执行授权
GRANT privileges ON databasename.tablename TO 'username'@'host';
## 其他账号执行授权 (前期是此账号有所有操作权限)
GRANT privileges ON databasename.tablename TO 'username'@'host' WITH GRANT OPTION;
③ 设置/更改密码
## 使用root修改指定账户密码
SET PASSWORD FOR 'username'@'host' = PASSWORD('newpassword');
## 修改当前登录用户密码
SET PASSWORD = PASSWORD("newpassword");
(〃‘▽’〃) 示例 :
## 修改用户 miduo 的密码为 5211314 , 并开放允许远方访问
SET PASSWORD FOR 'miduo'@'%' = PASSWORD("5211314");
④ 撤销/取消用户权限
REVOKE privilege ON databasename.tablename FROM 'username'@'host';
- privileges : 用户的操作权限,如SELECT,INSERT,UPDATE等,如果要授予所的权限则使用ALL
- databasename : 数据库名
- tablename : 表名
(〃‘▽’〃) 示例 :
## 撤销 用户 miduo 的所有权限
REVOKE SELECT ON *.* FROM 'miduo'@'%';
⑤ 查看用户权限
SHOW GRANTS FOR 'username'@'host';
- username : 用户名
- host : 对应你用户名的访问权限 如 : localhost , % , 某IP 等等(如果是 % , 但是你写的 localhost , 运行命令会报错 )
(〃‘▽’〃) 示例 :
SHOW GRANTS FOR 'miduo'@'%';
⑥ 删除用户
DROP USER 'username'@'host';
(〃‘▽’〃) 示例 :
DROP USER 'miduo'@'%';
⑦ 刷新权限
建议进行任何权限操作后, 都执行下面命令进行刷新权限。
FLUSH PRIVILEGES;
⑧ 基础操作
⑧-① 登录数据库
mysql -uroot -p ## 回车后输入密码
⑧-② 查看所有数据库
show databases;
⑧-③ 使用某数据库
use mysql; ## 进入 mysql 数据库
⑧-④ 查看数据库用户
## 查看所有用户
select * from user;
select user , host from user;
## 或者直接访问 mysql.user
select * from mysql.user;
select user , host from mysql.user;
⑧-⑤ 查看当前选择的数据库
select database();
⑧-⑥ 查看当前登录用户
select user();
⑧-⑦ 查看数据库版本
select version();
⑧-⑧ 退出数据库
quit;