SHOW DATABASES;回车后数据库不全与Access denied ERROR

在用命令行操作mysql时遇到了Access denied for user ”@’localhost’ to database ‘…’这个问题,即没有访问权限;还有输入SHOW DATABASES;时查看数据库显示的也不全。先说说这里用的mysql是集成于Wamp的,在安装Wamp后才有的mysql服务。


将wamp下mysql的bin文件夹路径配置到系统变量后,打开cmd命令行输入mysql后回车:

这里写图片描述

显示已经登录成功。


想要创建一个名字为t1的数据库,在命令行输入CREATE DATABASE t1;后回车:

这里写图片描述

发现提示Access denied for user ”@’localhost’ to database ‘t1’错误,显然告诉我被禁止访问了,这是为什么呢?先不管为什么,我们看看我们mysql里已经有什么数据库。

输入SHOW DATABASES;后回车:

这里写图片描述

发现只有两个数据库而已,但是我的mysql下显然有更多的数据库:

这里写图片描述

这都是为什么呢?


然后输出SELECT USER();后回车,查看用户信息:

这里写图片描述

显示用户名为ODBC,但是我的wamp的用户名是root,显然不是一个用户,仔细分析一下,原来我在一开始登录的时候只是输入了mysql,没有指定用户名,在这里我认为mysql会使用它默认的用户名,因此登录后mysql的用户名为“ODBC”就一点都不奇怪了(ODBC的英文全称为Open Database Connectivity,提供了一组对数据库访问的标准API)。


输入SHOW GRANTS;后回车,查看用户权限:

这里写图片描述

显示GRANT USAGE,其实是只允许连接,其他像数据库的操作增删改查权限是没有的。顺便一提这里的”@’localhost’是匿名用户的意思。


输入EXIT;后回车退出当前登录,再输入mysql -u root后回车,这次指定用户名为root,密码为空的用户登录(因为wamp下mysql默认的用户帐号就是这个,且我没有修改过):

这里写图片描述

这里显示用户名为root了。


然后再查看当前权限,发现是所有权限都有了,并且创建数据库t1也能成功:

这里写图片描述

wamp下mysql界面:

这里写图片描述


总结:

  1. 出现错误的原因是没有指定用户名去登录mysql
  2. wamp为我们指定了mysql的默认帐号,用户名为root,密码为空。因此我们在cmd命令行中要用这个帐号去登录wamp下的mysql才可以得到所有权限并显示我们之前在phpMyAdmin下操作所有数据库。
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值