php开发遇到的Access denied for user

php开发遇到的Access denied for user 'root'@'localhost'(using password:NO)


DATE: 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登录会报错终端登录不报错
不涉及phpphp访问数据库会报错



显然,情况是不一样的。所以不用其它人折腾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代码问题就解决了。

版权声明

弈心博客


本文首发site_name,转载请附上博文链接!