首页 > 数据库 >Mysql数据库安全防护

Mysql数据库安全防护

时间:2023-02-14 18:06:23浏览次数:63  
标签:权限 Mysql 防护 访问 user mysql 数据库安全 root select

1.禁止mysql以管理员的账号权限运行
加固方法:在mysql的配置文件my.cnf中配置user=mysql
2.设置root用户口令并修改登录名,且不存在空密码账户
检查方法:登录mysql之后,输入这个命令:select * from mysql.user where user=""; (在安全的系统当中,不会返回什么值的)
加固方法:mysql登录进去之后,输入命令:SET PASSWORD FOR 'root'@'localhost'=PASSWORD('你的新密码');
为了更有效的改进root用户的安全性,另一种方法是为其改名。
加固方法:mysql登录之后,输入以下命令:use mysql;
UPDATE user SET user="你想起的新的名字" WHERE user="root";
flush privileges;
3.配置密码最常使用期限小于90天:
进入MySQL之后,输入:SET GLOBAL default_password_lifetime=90;
flush privileges;
4.降低用户的数据库特权,只有管理员有完整的数据库访问权限
首先应确保只有数据库管理员权限才有上述权限,可以使用一下语句进行查看各个权限的数据库账号:
select user,host from mysql.user where File_priv = 'Y';
select user,host from mysql.user where Process_priv = 'Y';
确保查询结果中不存在非管理员用户。

如果存在,使用如下命令进行权限回收:
REVOKE SHUTDOWN ON . FROM '<user>';
REVOKE CREATE USER ON . FROM '<user>';
REVOKE GRANT OPTION ON . FROM '<user>';
(注意:user为刚才查到的非管理员用户)

5.禁止或限制远程访问,确保特定主机才拥有访问特权
加固方法:进入mysql里面,grant all on . to 'root'@'localhost';
grant all on . to 'root'@'myip.athome';
flush privileges;
此时,你仍有完全的访问,但只有特定的IP(不管其是否为静态)可以访问。
这个时候,有限许可访问:
mysql>grant select,insert on mydb.* to 'someuser'@'somehost';
(这里你要把someuser换成用户名,把somehost换成相应的主机,别照抄复制粘贴)

标签:权限,Mysql,防护,访问,user,mysql,数据库安全,root,select
From: https://blog.51cto.com/u_15945480/6057342

相关文章

  • windows下mysql5.7 更改密码,更改用户名,提高数据库安全性的具体方法。
         一、二话不说,先更改my.ini,位置在 C:\ProgramData\MySQL\MySQLServer5.7,再【mysqld】节点下,增加 skip-grant-tables        这一步切......
  • window10下mysql8.0安装配置
    官网安装​​https://dev.mysql.com/downloads/mysql/​​下载完解压缩至于环境变量是不是必须要配置我不清除反正我是配置了,在Path中加入mysql文件下bin文件夹的路径然......
  • mysql慢sql监控
    1、思路之前用mysql一直没有考虑到这点,mysql慢sql监控是很重要的,它能帮我们梳理我们的业务sql到底是哪里处了问题,那么慢sql监控怎么做呢?有两种思路来实现:在应......
  • Java中通过jdbc连接MySQL数据库的代码封装-简历版本【杭州多测师_王sir】【杭州多测师
    本次封装类分为两大块:db.properties(配置文件),JDBCUtil类(初始化,连接,关闭)。 db.properties配置文件driver=com.mysql.cj.jdbc.Driverurl=jdbc:mysql://localhost:33......
  • Mysql查询所有表+字段
    先上代码SELECTt1.TABLE_SCHEMA,t1.TABLE_NAME,t2.TABLE_COMMENT,t1.COLUMN_NAME,t1.COLUMN_COMMENT,t1.COLUMN_TYPEFROMinformation_schema.COLUMNSt1innerj......
  • mysql报错:MySQL server has gone away
    一、报错提示:   二、报错原因:原因一:一种可能是发送的SQL语句太长,以致超过了max_allowed_packet的大小,如果是这种原因,你只要修改my.cnf,加大max_allowed_pac......
  • MySQL-比较两个表不同的数据
    原文链接:https://blog.csdn.net/JustDI0209/article/details/1224922931.需求:一份数据有新旧两个版本,想比较一下有哪些地方不同。2.方法:创建一个复制表,并将新数据导入,执......
  • Win部署MySQL5.7
    Win部署MySQL5.7压缩包安装参考引用连接即可如果机器中部署多个MySQL,则应当合理配置系统服务和my.ini服务环境变量MYSQL57_HOMED:\ProgramFiles\mysql-5.7.39-......
  • Navicat远程连接linux下mysql服务器1045错误解决办法在这儿
    1:首先通过xshell工具或者你熟悉的工具连接远程linux下的服务器mysql-uroot-p   然后输入密码 2.进行授权如果想root用户使用password从任何主机连接到mysql服务器......
  • mysql 变量声明及赋值的三种方式
    情景展示在mysql中,如何申明一个变量并进行使用?MySQL中主要有三种类型的变量:局部变量、系统变量及用户自定义变量。1.局部变量(无前缀)1.1声明变量作用域:BEGI......