Access denied for user 'root'@'localhost' to database

今天使用mysql时遇到:Access denied for user 'root'@'localhost' to database

注意在此时输入show databases;只显示了两个库,没有"mysql"库。

原因是:此时用户使用的是匿名登录,权限不对,所以"mysql"数据库找不到了。

网上流传的解决方案为:

关闭mysql:
# service mysqld stop
然后:
# mysqld_safe --skip-grant-tables
启动mysql

# service mysqld start

在windows下亲测无效,这些命令是Linux下命令。

那么对应的windows下解决方案:

关闭服务:

net stop mysql
修改权限:
mysqld-nt --skip-grant-tables
开启服务:
net start mysql

此处如果报"'mysqld-nt'不是内部或外部命令"
就是环境变量问题,将mysql安装目录的bin目录添加到环境变量,具体方式不缀述。
在博主机子上的目录为"C:\Program Files (x86)\MySQL\MySQL Server 5.0\bin"。
留意一下会发现,该目录下有mysqld-nt.exe。

你可能感兴趣的:(Access denied for user 'root'@'localhost' to database)