【转载】ERROR 1044 (42000): Access denied for user ''@'localhost' to database 'mysql'

转载出处

在网上下载了一个免安装包的MySQL,准备自己create database jhp_test,使用的时候出现报错,如下:

ERROR 1044 (42000): Access denied for user ''@'localhost' to database 'jhp_test'

经观察和百度,发现是用户权限和密码等错误造成的。并且show databases并没有发现mysql库。 
解决方法: 
1、在文件my安装包根目录下有文件my.ini(也有可能不存在my.ini而是my-default.ini,此时将文件名改为my.ini); 
2、在文件my.ini中添加如下代码:

skip-external-locking
skip-name-resolve
skip-grant-tables

3、关闭mysql服务器,重新启动mysql; 
4、这时候show databases会发现有名为mysql的库存在,进入库mysql; 
5、运行sql改变密码:UPDATE user SET Password=PASSWORD(‘newpassword’) where USER=’root’; 
6、继续如下两步: 
mysql> FLUSH PRIVILEGES;    //记得要这句话,否则如果关闭先前的终端,又会出现原来的错误; 
mysql> q;            //退出 
7、关闭服务器并重启,此时就可以创建自己的库了; 
8、对mysql进行环境变量配置,这样就可以直接在cmd命令里使用“mysql -uroot -pnewpassword”进行登录了;

原文地址:https://www.cnblogs.com/custer/p/6371623.html