数据库用户管理
- [1. mariadb数据库用户管理](#1. mariadb数据库用户管理)
- [2. mariadb数据库用户授权](#2. mariadb数据库用户授权)
- [3. 用户回收授权](#3. 用户回收授权)
- [4. 使客户端连接数据库](#4. 使客户端连接数据库)
1. mariadb数据库用户管理
- 用户的格式: 用户@主机范围 合起来才算一个用户
- 授权主机范围
- 只能从本机访问:
localhost
或127.0.0.1
或10.0.0.166
(指定IP) - 授权整个网段:
- 授权10.0.0.1--10.0.0.254:
10.0.0.0/24
或10.0.0.%
- 授权192.168.0.1---192.168.254.254:
192.168.%
- 严令禁止直接使用
%
- 授权10.0.0.1--10.0.0.254:
- 只能从本机访问:
- 用户增删改查
- 创建用户
- 语法:
create user blog@'10.0.0.%' identified by 'oldboy123';;
- 查看数据库中的所有用户:
select user,host from mysql.user;
- 登录用户:
mysql -ublog -poldboy123 -hlocalhost -P3306 -S /var/lib/mysql/mysql.sock
- 正常来讲-h -S是可以省略,但是用户的主机范围是localhost就不用写因为-h默认值就是localhost
- 语法:
- 删除用户:
drop user 'user'@'主机域';
- 修改用户的名字:
rename user'过去的名字@过去的主机域' to '新的名字@新的主机域';
+flush privileges;
- 查看当前用户:
select user();
- 查询有哪些用户:
select user,host from mysql.user;
- 创建用户
2. mariadb数据库用户授权
-
创建用户并授权
- 语法一:
create user用户@主机域 identified by '密码';
+grant 权限 on 库.表 to 用户@主机域
- 语法二:
grant 权限 on 库.表 to 用户@主机域 identified by'密码';
- 语法一:
-
授权blog@'10.0.0.%'用可以访问所有权限
- 授权:
grant all on *.* to blog@10.0.0.%;
- 检查:
show grants for blog@'10.0.0.%';
- 授权:
-
有哪些权限可以授权
sqlMariaDB [(none)]> show privileges; all privileges(all)包含下面所有(唯独缺一个权限(Grant option),不能创建用户): 权限 说明 授权网站用户最应该的授权,网民上网使用。了解前8个 SELECT 查询(数据) INSERT 插入(数据) UPDATE 修改(数据) DELETE 删除(数据) ================DBA管理员的权限=========== CREATE 创建(数据库、表等对象) DROP 删除(数据库、表等对象) INDEX 索引 ALTER 修改(数据库、表等对象) ========================================== RELOAD 重载 SHUTDOWN 关闭 PROCESS 进程 FILE 文件 REFERENCES 参考资料 SHOW DATABASES 查看数据库 SUPER 超级权限 CREATE TEMPORARY TABLES 创建临时表 LOCK TABLES 锁表 EXECUTE 执行 REPLICATION SLAVE 从复制权限 REPLICATION CLIENT 从客户端复制 CREATE VIEW 创建视图 SHOW VIEW 查看视图 CREATE ROUTINE 创建存储过程 ALTER ROUTINE 修改存储过程 CREATE USER 创建用户 EVENT 事件 TRIGGER 触发器 CREATE TABLESPACE 创建表空间
-
企业产生如何授权
-
普通用户
sqlSELECT 查询(数据) 浏览文章 INSERT 插入(数据) 发表文章 UPDATE 修改(数据) 修改文章 DELETE 删除(数据) 删除文章
-
管理员用户
sqlCREATE 创建(数据库、表等对象) DROP 删除(数据库、表等对象) INDEX 索引 ALTER 修改(数据库、表等对象)
-
-
授权一个和管理员root等价的权限
- 创建并授权:
grant all on *.* to oldboy@'localhost' identified by 'oldboy123' with grant option
- 刷新:
flush privileges
- 创建并授权:
3. 用户回收授权
- 语法:
revoke insert on *.* from '用户名'@'主机域';
- 例子:
revoke insert ON *.* from 'littleboy'@'localhost';
4. 使客户端连接数据库
- 使客户端连接需要关闭防火墙
systemctl stop firewalld
systemctl enable firewalld
- 安装sqlyog工具
- 连接就好了