MySQL安全管理和特性解析

03、MySQL安全管理和特性解析

本节主要讲MySQL的安全管理、角色使用、特定场景下的数据库对象、各版本特性以及存储引擎

03、MySQL安全管理和特性解析1、 用户和权限管理2、 MySQL角色管理3、 MySQL密码管理4、 用户资源限制5、 忘记root密码处理办法6、 SQL MODE详解7、 视图、存储过程、触发器的使用8、 MySQL5.5、5.6、5.7、8.0各个版本的特性5.5特性MySQL 5.6的特性MySQL 5.7的特性MySQL 8.0 新特性2、MySQL加列三种算法是什么?区别是什么?COPY 算法INPLACE 算法INSTANT 算法3、假如入你是DBA,一个新业务研发考虑使用5.6,请你说服他们使用 MySQL8.09、 MySQL各个存储引擎介绍1、InnoDB存储引擎和MyISAM存储引擎区别和适用场景?2、TokuDB有哪些应用场景?3、适用MEMORY存储引擎要注意哪些问题?4、CSV存储引整有哪些适用场景?5.为什么从MySQL5.5开始,MySQL默认的存储引擎改成了InnoDB?6.假如你管理的业务线,有多张MyISAM表,你会怎么处理?

1、 用户和权限管理

创建/删除用户

某个同事要申请一个haohao库的远程只读用户,他的IP是192.168.1.3 可移执行:
CREATE USER 'haohao_r'@'192.168.1.3' IDENTIFIED BY 'password';
如果是客户端多个网段可移植执行:
CREATE USER 'haohao_r'@'192.168.1.%' IDENTIFIED BY 'password';
​
查用户
select user,host from mysql.user;
删除用户
DROP USER 'haohao'@'192.168.1.%';

用户授权

GRANT insert,delete,select,update ON haohao.* TO 'haohao'@'localhost';
如果要给力某列授权就执行:
CREATE USER haohao_r_1@localhost IDENTIFIED BY 'password';
grant select(id,name) on haohao.grant_test to haohao_r_1@localhost;

查用户权限

show grants for haohao_r_1@localhost;

回收权限

REVOKE INSERT ON haohao.* FROM 'haohao'@'localhost';
2、 MySQL角色管理

创建角色

CREATE ROLE 'app_developer';
给角色授权
GRANT select,update,delete,insert ON app_db.* TO 'app_developer';


使用角色,受先创建一个用户:
create user 'haohao_role'@'localhost' identified by 'IHB87Edsa';
然后给用户富余角色,用来替换GRANT SELECT,UPDATE,DELETE,INSERT:
grant 'app_developer' to 'haohao_role'@'localhost';

用户撤销角色
revoke app_developer from 'haohao_role'@'localhost';
删除角色
drop role app_developer;
3、 MySQL密码管理

修改root密码

ALTER USER user() IDENTIFIED BY 'xxx';

修改普通用户密码

alter user 'haohao'@'localhost' identified by 'xxx';
ALTER USER 'test_user'@'localhost' IDENTIFIED BY 'NewPassword123!';

查看密码相关参数:

show global variables like 'validate_password%';
4、 用户资源限制

创建时限制资源

CREATE USER 'haohao_02'@'localhost' identified by 'Udapadg999a^'
WITH MAX_QUERIES_PER_HOUR 500 
MAX_UPDATES_PER_HOUR 100
MAX_CONNECTIONS_PER_HOUR 50
MAX_USER_CONNECTIONS 50;

修改现有用户的资源限制

ALTER USER 'haohao'@'localhost' WITH MAX_QUERIES_PER_HOUR 100;
如果要曲线限制,就把值设置成0
ALTER USER 'haohao'@'localhost' WITH MAX_QUERIES_PER_HOUR 0;

重置资源使用计数

FLUSH USER_RESOURCES;
或者
FLUSH PRIVILEGES
5、 忘记root密码处理办法

编辑配置文件

vim /data/mysql/conf/my.cnf 
增加
skip-grant-tables
重启mysql
/etc/init.d/mysql.server restart

免密方式登录

mysql -uroot -p
执行修改密码报错
alter user user() identified by 'dup
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

共勉浩浩

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值