`

MYSQL 匿名帐号的负担

阅读更多
 
系统环境:
Ubuntu 
8.04
MYSQL Server version: 
5.0 .51a-3ubuntu5 (Ubuntu)

以上是我的系统环境,随着工程开发的需要我们一般需要在mysql中添加一些非root帐户(testmysql)以方便自己的开发和测试。
不过无意中我们发现了一个问题

ERROR  1045 : Access denied for user: 'testmysql@localhost' (Using password: YES)

,新用户添加之后无法用预设的密码登录,而使用空密码登录所设定的帐户是可以的,这是为什么呢?
首先root帐户是可以登录的,那我们就使用root登录吧,然后让我们打开user表(所在位置:mysql --> user):

mysql >   use  mysql;
mysql
>   select  Host, User    from   user ;
+ -- ----------+------------------+
|  Host        |   User               |
+ -- ----------+------------------+
|   %            |                    |  
|   %            |  testmysql         |  
|   127.0 . 0.1    |  root              |  
|  localhost   |  debian - sys - maint  |  
|  localhost   |  root              |  
|  wpc - laptop  |  root              |  
+ -- ----------+------------------+
6  rows  in   set  ( 0.00  sec)


原来如此我们好像有一个匿名帐户,因为这个帐户密码是空,会不会和这个帐户有关呢?我一向比较大胆,那就不管那么多了,直接干掉它。

mysql >   delete   from   user   where   User = '' ;
Query OK, 
1  row affected ( 0.00  sec)

mysql
>   select  Host, User    from   user ;
+ -- ----------+------------------+
|  Host        |   User               |
+ -- ----------+------------------+
|   %            |  testmysql         |  
|   127.0 . 0.1    |  root              |  
|  localhost   |  debian - sys - maint  |  
|  localhost   |  root              |  
|  wpc - laptop  |  root              |  
+ -- ----------+------------------+
5  rows  in   set  ( 0.00  sec)

不错,好像没有了。
那我们再去实验一下,

终于可以登录了,不错不错。
实验成功,那到底是为什么呢?我去网上搜索了一下,没有找到很有用的东西。只能臆断了,估计是系统将非root用户全部作为匿名用户对待了。


分享到:
评论

相关推荐

    php mysql 后台账号管理系统

    在IT行业中,PHP和MySQL是两个非常重要的技术,它们经常被结合使用来构建后台管理系统,尤其是账号管理系统。本文将深入探讨这两个技术如何协同工作,以及如何实现简单的账号管理功能。 PHP是一种广泛使用的开源...

    MySql数据库账号密码过期导致Navicat连接不上.docx

    - SQL命令示例:`UPDATE mysql.user SET password_expired='N' WHERE user='某子账号';` - “某子账号”替换为实际的用户名称。 - 注意:此方法仅适用于非管理员账号。 #### 五、注意事项与额外建议 - **安全性...

    破解Mysql账号密码的方法

    在MySQL数据库管理中,有时可能会遇到忘记账号密码的尴尬情况,这无疑会阻碍我们正常地访问和管理数据库。本文将详细介绍一种解决此类问题的方法,帮助你恢复对MySQL账户的访问。 首先,理解MySQL的密码安全机制是...

    mysql 账号权限管理命令

    MySQL 账号 权限, 用户管理 mysql>use mysql; 查看 mysql> select host,user,password from user ; 创建

    JSP页面调用MySql数据库验证用户账号密码

    本项目名为“JSP页面调用MySql数据库验证用户账号密码”,它提供了一个基础的用户登录系统,适用于初学者学习如何通过前端页面与后端数据库进行交互。 JSP是一种基于Java的技术,用于创建动态网页。它允许开发者在...

    mysql账号管理与引擎

    mysql账号管理与引擎

    以普通权限运行MySQL的操作说明

    ### 以普通权限运行MySQL的操作指南 在网络安全日益受到重视的今天,确保系统中的每一项服务都以最小必要的权限运行显得尤为重要。对于MySQL这样的数据库服务来说,若其以最高权限(system)运行,一旦出现安全漏洞...

    MySQL如何修改账号的IP限制条件详解

    在本文中,我们将深入探讨如何在MySQL中修改账号的IP限制条件,以便根据业务需求调整用户访问权限。 首先,让我们创建一个示例用户`LimitIP`,并为其设定IP访问限制。在以下例子中,我们将允许`192.168`段的IP地址...

    windows版mysql安装包-mysql5-mysql-5.5.zip

    - **安全设置**: 使用“mysql_secure_installation”脚本来加强安全性,例如删除匿名用户,禁用远程root登录等。 4. **启动和管理MySQL服务** - **启动/停止服务**: 通过Windows服务管理器或命令行...

    使用pam_mysql和VSFTPD实现ftp虚拟账号

    ### 使用pam_mysql和VSFTPD实现FTP虚拟账号 #### 一、VSFTPD的特点及概念解析 **1. VSFTPD的安全特性** VSFTPD(Very Secure FTP Daemon)是Linux下较为安全的一种FTP服务软件,它具备多种安全措施来确保服务器的...

    在Linux下安装Mysql(非root)

    Linux 下非 Root 用户安装 Mysql 在 Linux 操作系统中安装 Mysql 数据库可以通过多种方式实现,包括使用源代码编译安装和二进制安装。对于非 Root 用户来说,安装 Mysql 可能会遇到一些权限问题,但是通过正确的...

    MySQL中患者数据的匿名化

    本文将深入探讨如何在MySQL中进行患者数据的匿名化,确保信息安全的同时满足合规性要求。 一、数据匿名化的概念与意义 数据匿名化是通过各种技术手段对个人信息进行处理,使其无法识别出特定个人的过程。在医疗领域...

    修改mysql root用户密码

    这是最直接的方法之一,可以通过MySQL命令行工具完成操作: ```sql mysql -u root -p ``` 输入当前`root`用户的密码后,进入MySQL命令行环境,然后执行以下命令: ```sql SET PASSWORD FOR 'root'@'localhost' = ...

    MySQL账号密码爆破工具JAVA开发

    基于Java SE实现的MySQL账号、密码爆破工具 使用的技术:Java线程池、多线程、终端交互 适用场景:适合在授权下对目标MySQL进行弱口令检测 注意:请在授权下对目标进行测试

    mysql安装包

    例如,`mysql_system_tables.sql`用于创建系统表,`mysql_secure_installation`脚本用于增强安全性,如删除匿名用户、禁止root远程登录、删除测试数据库等。 5. 设置安全措施:为了保护数据库,强烈建议设置强密码...

    Linux下mysql新建账号及权限设置方法

    以下将详细解释如何在Linux下的MySQL中新建账号并设置权限。 1. **创建新用户** 创建新用户的第一步是登录到MySQL服务器。你可以使用`mysql`命令,后面接上 `-u` 参数指定用户名(通常是`root`)和 `-p` 参数来...

    MYSQL

    4.12.1 在 Win32 上安装 MySQL 4.12.2 在 Win95 /Win98上启动 MySQL 4.12.3 在 NT 上启动 MySQL 4.12.4 在 Win32 上运行 MySQL 4.12.5 用 SSH 从 Win32 连接一个远程MySQL 4.12.6 MySQL-Win...

    mysql驱动jar 文件适用MySQL5.7

    MySQL驱动jar文件是Java应用程序与MySQL数据库之间通信的关键组件,主要功能是提供Java Database Connectivity (JDBC) API,使得Java开发者能够通过编写Java代码来执行SQL语句,从而操作MySQL数据库。标题提到的...

    Mysql5.6、Mysql5.7 JDBC驱动

    MySQL是世界上最受欢迎的关系型数据库管理系统之一,而JDBC(Java Database Connectivity)是Java语言与数据库交互的标准接口。本文将深入探讨Mysql5.6和Mysql5.7的JDBC驱动,以及如何使用`mysql-connector-java-...

Global site tag (gtag.js) - Google Analytics