cmd 进入mysql

一只独孤的程序猿 2012-03-23 01:22:22
我用cmd进入mysql通常情况下是:
mysql -u root -p
然后提示输入密码
进入如下界面

C:\Documents and Settings\Administrator>mysql -u root -p
Enter password: ****
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 2 to server version: 5.0.19-nt

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

但是现在我进入cmd直接输入mysql然后就进入了

C:\Documents and Settings\Administrator>mysql
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 4 to server version: 5.0.19-nt

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql>

这是什么原因,这不就没有安全性了吗,还是我哪里设置有问题?
...全文
246 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 acmain_chm 的回复:]

引用| | % |允许空用户名在任何机器上登录。
[/Quote]
不是很理解上面输出的内容和允许任何登录,
现在如果我用MySQL Command Line Client登录的话,必须输入root才能登录
但是用cmd登录就不用,同时用cmd登录的时候输入root或者是不输入都能登录
麻烦您了
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 acmain_chm 的回复:]

你直接 show grants 看一下就明白了。你使用应该是默认的用户名。
[/Quote]


| Grants for @localhost


|
+-------------------------------------------------------------------------------
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
------------------------+
| GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, RELOAD, SHUTDOWN, PROCESS,
FILE, REFERENCES, INDEX, ALTER, SHOW DATABASES, SUPER, CREATE TEMPORARY TABLES,
LOCK TABLES, EXECUTE, REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO ''@'local
host' WITH GRANT OPTION |
+-------------------------------------------------------------------------------
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 wwwwa 的回复:]

检查 用户是否设置密码
SELECT * FROM mysql.user;
or
SELECT USER();
[/Quote]

mysql> select password from mysql.user where user='root';
+-------------------------------------------+
| password |
+-------------------------------------------+
| *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B |
| *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B |
+-------------------------------------------+
2 rows in set (0.02 sec)

这样搜索如下内容,应该是root用户的密码就是root
不过为什么有了两条记录呢?
ACMAIN_CHM 2012-03-23
  • 打赏
  • 举报
回复
[Quote]| | % |[/Quote]允许空用户名在任何机器上登录。
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 nicenight 的回复:]

你可以 select user, host from mysql.user; 看看有没有 user 为空的用户,另外这个用户一般是指定 localhost 的,所以只有本机可以登录。如果觉得危险,删掉这样的用户就行了呗。
[/Quote]

mysql> select user,host from mysql.user;
+------+-----------+
| user | host |
+------+-----------+
| | % |
| root | % |
| | localhost |
| root | localhost |
+------+-----------+
4 rows in set (0.05 sec)

内容如下
怎么解释啊,是有一个是空的?
rucypli 2012-03-23
  • 打赏
  • 举报
回复
你的密码在配置文件里面写好了 找到my.ini 然后看[clicent] 是否有passwd项
ACMAIN_CHM 2012-03-23
  • 打赏
  • 举报
回复
你直接 show grants 看一下就明白了。你使用应该是默认的用户名。
WWWWA 2012-03-23
  • 打赏
  • 举报
回复
检查 用户是否设置密码
SELECT * FROM mysql.user;
or
SELECT USER();
nicenight 2012-03-23
  • 打赏
  • 举报
回复
你可以 select user, host from mysql.user; 看看有没有 user 为空的用户,另外这个用户一般是指定 localhost 的,所以只有本机可以登录。如果觉得危险,删掉这样的用户就行了呗。

56,675

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧