phpmyadmin 出现"#2000 无法登录 MySQL 服务器"的问题 -----另外的处理办法

By | 2013 年 2 月 7 日

装好nginx、php、mysql以后打开浏览器登录,提示:#2000 无法登录 MySQL 服务器,

检查IP,用户名,密码没发现问题
用本机mysql客户端连接可以正常登录,说明网络访问,数据库访问权限都没问题

查原因如下:

原来是从"php 5.3.3起,不再支持使用老的加密码方式连接数据库,这时你仍然可以使用mysql客户端命令来登录,登录后使用"
本机装的是PHP 5.5,才会引起上述问题

解决办法:

mysql> update `mysql`.`user` SET `Password` = PASSWORD("******") WHERE `User` = "kkapp";

mysql> flush privileges;

注意old_passwords=1这行要注释掉

然而,我是从本地连接万网的虚拟主机上的数据库,因此上面操作无法进行。只好降低PHP版本于是下载

http://windows.php.net/downloads/releases/php-5.2.17-Win32-VC6-x86.zip

复制php.ini ,修改后,运行php-cgi.exe -b 127.0.0.1:9000 -c d:\php5.2\php.ini 测试phpmyadmin,结果ok。

下面就是做成系统服务自动启动。参考http://www.shuran.cn/?p=265。

http://download.java.net/maven/2/com/sun/winsw/winsw/1.9/winsw-1.9-bin.exe

重命名为 winsw.exe ,复制到 d:\php5.2

这里可能会有系统提示缺少pthreadGC2.dll,网上下载一个,放到winsw旁边即可http://61.191.188.101:84/soft2/dll/pthreadgc2.zip

phpcgi模式的执行:

因为phpcgi的稳定性不好,一般采用守护进程方式,常见的是批处理命令。这里采用xxfpm的插件

下载地址:http://xiaoxia.org/upfiles/2011/02/xxfpm.zip(这里感谢xiaoxia老大)

取出xxfpm.exe以及xxfpm两个文件,复制到d:\php5.2

新建 winsw.xml

<service>
<id>PHP-fpm</id>
<name>Php</name>
<description>php 守护进程</description>
<executable>d:\php5.2\xxfpm.exe</executable>
<logpath>d:\php5.2\</logpath>
<logmode>roll</logmode>
<depend></depend>
<startargument>"d:/php5.2/php-cgi.exe -c d:/php5.2/php.ini" -n 3 -i 127.0.0.1 -p 9000</startargument>
</service>

保存后,在命令提示符下执行

D:\php5.2>winsw install

系统服务建立成功

至此启动服务,完成。

发表回复

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据