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