0

0

加强MySQL用户安全

黄舟

黄舟

发布时间:2017-02-13 10:59:25

|

1456人浏览过

|

来源于php中文网

原创

     很多亲们在安装好了mysql数据库之后,对于mysql用户表并没有做任何特殊的处理,因此缺省情况下,存在密码为空的用户,也有很多用户名和密码都为空的情形,我们称之为双空用户。这种情形下的登录,在此统称为异常登陆。对于生产环境的数据库来说,这会带来一些不确定的安全隐患。下面是关于这个问题的描述以及清理掉无关用户的方法。
    有关mysql用户相关参考:
mysql 用户与权限管理
mysql 修改用户密码及重置root密码


1、演示异常登录

a、演示双空用户登陆
[root@xlkoracel ~]# mysql -uroot -p
Enter password: 
(root@localhost) [(none)]> show variables like 'version';
+---------------+--------+
| Variable_name | Value  |
+---------------+--------+
| version       | 5.6.26 |
+---------------+--------+

(root@localhost) [(none)]> select user,host,password from mysql.user;
+-------+-------------+-------------------------------------------+
| user  | host        | password                                  |
+-------+-------------+-------------------------------------------+
| root  | localhost   | *E74858DB86EBA20BC33D0AECAE8A8108C56B17FA |
| root  | xlkoracel   |                                           |
| root  | 127.0.0.1   |                                           |
| root  | ::1         |                                           |
|       | localhost   |                                           |
|       | xlkoracel   |                                           |
| mycat | localhost   | *975B2CD4FF9AE554FE8AD33168FBFC326D2021DD |
| mycat | 192.168.1.% | *975B2CD4FF9AE554FE8AD33168FBFC326D2021DD |
| mycat | 192.168.%.% | *975B2CD4FF9AE554FE8AD33168FBFC326D2021DD |
| root  | 192.168.%.% | *E74858DB86EBA20BC33D0AECAE8A8108C56B17FA |
+-------+-------------+-------------------------------------------+

(root@localhost) [(none)]> -- 可以看到存在用户名和密码同时为空的情形
(root@localhost) [(none)]> -- 退出后尝试使用任意用户名登录
(root@localhost) [(none)]> exit
Bye
[root@xlkoracel ~]# mysql -uxx ###无需指定密码参数-p
(xx@localhost) [(none)]> -- 可以成功登陆
(xx@localhost) [(none)]> -- 下面查看一下自身的权限
(xx@localhost) [(none)]> show grants;  --当前只有usage权限
+--------------------------------------+
| Grants for @localhost                |
+--------------------------------------+
| GRANT USAGE ON *.* TO ''@'localhost' |
+--------------------------------------+

(xx@localhost) [(none)]> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| test               |
+--------------------+

(xx@localhost) [(none)]> use test;
Database changed
(xx@localhost) [test]> show tables;
Empty set (0.00 sec)

(xx@localhost) [test]> create table t(id int);
Query OK, 0 rows affected (0.14 sec)

(xx@localhost) [test]> insert into t values(1);
Query OK, 1 row affected (0.01 sec)

(xx@localhost) [test]> select * from t;
+------+
| id   |
+------+
|    1 |
+------+
1 row in set (0.00 sec)

(xx@localhost) [test]> --从上可以看出,usage权限已经可以完成很多任务
(xx@localhost) [test]> use infromation_schema;
ERROR 1044 (42000): Access denied for user ''@'localhost' to database 'infromation_schema'
(xx@localhost) [test]> exit;


b、演示密码为空的用户登陆
[root@xlkoracel ~]# mysql -uroot -hxlkoracel  ###注,此时也无需指定参数-p  
(root@xlkoracel) [(none)]> --可以成功登陆
(root@xlkoracel) [(none)]> show grants;   --查看自身权限,为ALL PRIVILEGES,权限更大
+---------------------------------------------------------------------+
| Grants for root@xlkoracel                                           |
+---------------------------------------------------------------------+
| GRANT ALL PRIVILEGES ON *.* TO 'root'@'xlkoracel' WITH GRANT OPTION |
| GRANT PROXY ON ''@'' TO 'root'@'xlkoracel' WITH GRANT OPTION        |
+---------------------------------------------------------------------+

2、清理异常用户

[root@xlkoracel ~]# mysql -uroot -p
Enter password: 
(root@localhost) [(none)]> select user,host,password from mysql.user
    -> where (user is null or user='') and (password is null or password='');
+------+-----------+----------+
| user | host      | password |
+------+-----------+----------+
|      | localhost |          |
|      | xlkoracel |          |
+------+-----------+----------+
2 rows in set (0.01 sec)

(root@xlkoracel) [(none)]> -- Author : Leshami
(root@xlkoracel) [(none)]> -- Blog   : http://www.php.cn/
(root@localhost) [(none)]> -- 使用drop 方式清理用户
(root@localhost) [(none)]> drop user ''@'localhost';
Query OK, 0 rows affected (0.24 sec)

(root@localhost) [(none)]> select user,host,password from mysql.user
    -> where (user is null or user='') and (password is null or password='');
+------+-----------+----------+
| user | host      | password |
+------+-----------+----------+
|      | xlkoracel |          |
+------+-----------+----------+
1 row in set (0.00 sec)

(root@localhost) [(none)]> -- 直接用delete从mysql.user表清理用户
(root@localhost) [(none)]> delete from mysql.user
    -> where (user is null or user='') and (password is null or password='');
Query OK, 1 row affected (0.06 sec)

(root@localhost) [(none)]> -- 直接用delete从mysql.user表清理所有密码为空的用户
(root@xlkoracel) [(none)]> delete from mysql.user where password is null or password='';
Query OK, 3 rows affected (0.00 sec)


3、小结
a、对于部署到生产环境的mysql服务器建议清理所有密码为空的用户以及双空用户
b、建议清理前先备份,使用drop user方式来清理用户更稳妥

讯飞听见
讯飞听见

讯飞听见依托科大讯飞的语音识别技术,为用户提供语音转文字、录音转文字等服务,1小时音频最快5分钟出稿,高效安全。

下载

以上就是加强MySQL用户安全 的内容,更多相关内容请关注PHP中文网(www.php.cn)!

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
go语言 注释编码
go语言 注释编码

本专题整合了go语言注释、注释规范等等内容,阅读专题下面的文章了解更多详细内容。

2

2026.01.31

go语言 math包
go语言 math包

本专题整合了go语言math包相关内容,阅读专题下面的文章了解更多详细内容。

1

2026.01.31

go语言输入函数
go语言输入函数

本专题整合了go语言输入相关教程内容,阅读专题下面的文章了解更多详细内容。

1

2026.01.31

golang 循环遍历
golang 循环遍历

本专题整合了golang循环遍历相关教程,阅读专题下面的文章了解更多详细内容。

0

2026.01.31

Golang人工智能合集
Golang人工智能合集

本专题整合了Golang人工智能相关内容,阅读专题下面的文章了解更多详细内容。

1

2026.01.31

2026赚钱平台入口大全
2026赚钱平台入口大全

2026年最新赚钱平台入口汇总,涵盖任务众包、内容创作、电商运营、技能变现等多类正规渠道,助你轻松开启副业增收之路。阅读专题下面的文章了解更多详细内容。

76

2026.01.31

高干文在线阅读网站大全
高干文在线阅读网站大全

汇集热门1v1高干文免费阅读资源,涵盖都市言情、京味大院、军旅高干等经典题材,情节紧凑、人物鲜明。阅读专题下面的文章了解更多详细内容。

73

2026.01.31

无需付费的漫画app大全
无需付费的漫画app大全

想找真正免费又无套路的漫画App?本合集精选多款永久免费、资源丰富、无广告干扰的优质漫画应用,涵盖国漫、日漫、韩漫及经典老番,满足各类阅读需求。阅读专题下面的文章了解更多详细内容。

67

2026.01.31

漫画免费在线观看地址大全
漫画免费在线观看地址大全

想找免费又资源丰富的漫画网站?本合集精选2025-2026年热门平台,涵盖国漫、日漫、韩漫等多类型作品,支持高清流畅阅读与离线缓存。阅读专题下面的文章了解更多详细内容。

19

2026.01.31

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
MySQL 教程
MySQL 教程

共48课时 | 2万人学习

MySQL 初学入门(mosh老师)
MySQL 初学入门(mosh老师)

共3课时 | 0.3万人学习

简单聊聊mysql8与网络通信
简单聊聊mysql8与网络通信

共1课时 | 818人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号