php开发遇到的Access denied for user 'root'@'localhost'(using password:NO) 首发:2017-09-24 13:44:38 环境:CentOS 6.5 + php5.3.3 在php开发过程中,我遇到了一个问题:在命令行中登录Mysql完全正常,然而PHP代码读取数据库却出了问题。 报错如下:
Access denied for user 'root'@'localhost'(using password:NO)
代码是之前可以正常运行的,那我只好怀疑开发环境。参考网上其它类似问题,基本都有区别: | 别人的问题 | 我的问题 |
---|---|---|
终端mysql登录会报错 | 终端登录不报错 | |
不涉及php | php访问数据库会报错 |
显然,情况是不一样的。所以不用其它人折腾Mysql的方式。 我又参考安装phpMyAdmin的方式,企图解决问题。但悲剧在这里才真正开始。yum安装phpMyAdmin后,出现mbstring问题。后来php -m显示已经加载mbstring,但phpMyAdmin界面依然提示mb-string没有加载。出于时间考虑,最后不再针对mbstring问题。(注:这种方式我没有解决问题,如果有大神解决还望告知) 最后冷静分析了一下,与之前可以正常访问Mysql的区别是我在这台主机上又搭了一个wordpress,而起的数据库名是同一个。所以操作数据库的时候,数据库被其它的Server(wordpress)占用,所以denied。 想到了这一点就好啦,自己的PHP代码不要用那个数据库(database),换一个,比如:
create database newDB;
use newDB;
重启主机,再次运行php代码问题就解决了。