我很好奇,正在学习……这不紧急
在运行 19 个数据库的生产服务器上,我输入了这个错字
mysql -uroot-p[passwd]
^ omitted space
Run Code Online (Sandbox Code Playgroud)
我很快就享受了长达 12 秒的 Shark-Eats-Quint-Grade 心率提升:
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| test |
+--------------------+
Run Code Online (Sandbox Code Playgroud)
我已经确认这个错字是无害的**,但现在很好奇这是如何产生输出而不是错误的。
我的 SQL-Fu 增长但还不是很强大。我显然尝试对无意的用户进行身份验证root-ppasswd,但是既没有将密码传递给 mysql,也没有将现有的真实凭据传递给我,我预计该命令会失败——这是否产生了一个新的理论数据库实例,等待它被永久写入的机会?
** 请允许我先行阻止那些倾向于强调过早使用 <enter> 键的危险的人。是的——空洞躲过了。
它将整个字符串视为用户名,并且没有密码,MySQL 客户端将您以匿名身份登录。
mysql -usomerandomstring
mysql> SELECT CURRENT_USER();
+----------------+
| CURRENT_USER() |
+----------------+
| @localhost |
+----------------+
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
110 次 |
| 最近记录: |