MySQL中那些涉及安全性的SQL语句

指尖上的架构 2024-08-20 22:47:43
您的MySQL安全吗?数据是最有价值的资产,数据安全已经成为重中之重。本篇将介绍如何使用SQL语句确保MySQL的安全性。 为什么是SQL而不是其他?使用SQL管理数据库相比较其他方法而言具有如下优势: DBA不需要使用SSH等方法登录到MySQL所在的操作系统执行操作,可以省略操作系统的权限问题DBA的操作可以通过捕获SQL进行审计操作系统管理员无需触碰MySQLDevOps友好——面向服务适合自动化修复 MySQL从8.0开始,将许多配置管理任务应用到SQL语句,接下来我们将逐一梳理。 首先,用户第一件事情是增强root账户的密码安全性。当用户安装MySQL时,根据所选的安装包进行初始密码的输入,Window的安装向导和DEB的安装过程中会提示输入root账户的初始密码,rpm的安装方式则会生成一个随机初始密码。使用随机密码连接MySQL后,首先要执行更改密码的语句,否则将报错。更改密码使用如下SQL: ALTER USER root@localhost IDENTIFIED BY ''; 注意,MySQL中可能会存在多个root账户,修改的密码仅仅是“root@localhost”,考虑安全性问题,可以删除全局账户,后缀为“%”,如果需要远程连接,需要对主机名进行限制。 设置密码策略。相关组件是否已安装?可以通过以下SQL语句进行查看: SELECT component_urn, 'PASSWORD Policy Component Installed?' as Note, if(count(component_urn) > 0, 'YES', 'NO') as Answer FROM mysql.component where component_urn='file://component_validate_password' group by component_urn; 查看密码策略的SQL语句: SELECT VARIABLE_NAME, VARIABLE_VALUE FROM performance_schema.global_variables where VARIABLE_NAME like 'valid%password%' OR VARIABLE_NAME='default_password_lifetime'; 改变密码策略的SQL语句: #安装组件INSTALL COMPONENT 'file://component_validate_password';#设置策略set persist validate_password.check_user_name='ON';set persist validate_password.dictionary_file='
0 阅读:31

指尖上的架构

简介:感谢大家的关注