phpmyadmin #2002 无法登录 MySQL 服务器或者 使用配置文件中定义的控制用户连接失败mysql No such file or directory

作者:admin发表时间:2014-3-31 评论:0 点击 48,790+

ubuntu 13.10 如果通过命令行安装 phpmyadmin
sudo apt-get install phpmyadmin

首先phpmyadmin位置需要同网站根目录建立连接,不然会出现404
sudo ln -s /usr/share/phpmyadmin/ /home/r00t/www

现在可以打开http://127.0.0.1/phpmyadmin/
出现如下错误
#2002 无法登录 MySQL 服务器
使用配置文件中定义的控制用户连接失败。

这错误主要是没有指点服务器地址的原因

安装完phpmyadmin会提示,配置文件位置。
dbconfig-common: writing config to /etc/dbconfig-common/phpmyadmin.conf
Replacing config file /etc/phpmyadmin/config-db.php with new version
dbconfig-common: flushing administrative password
不知到有没有仔细看

gedit ‘/etc/phpmyadmin/config-db.php’

< ?php ## ## database access settings in php format ## automatically generated from /etc/dbconfig-common/phpmyadmin.conf ## by /usr/sbin/dbconfig-generate-include ## Mon, 31 Mar 2014 10:08:16 +0800 ## ## by default this file is managed via ucf, so you shouldn't have to ## worry about manual changes being silently discarded. *however*, ## you'll probably also want to edit the configuration file mentioned ## above too. ## $dbuser='phpmyadmin'; $dbpass='123456'; $basepath=''; $dbname='phpmyadmin'; $dbserver=''; $dbport=''; $dbtype='mysql'; $dbserver='';改为$dbserver='127.0.0.1'; 服务器默认连接地址为localhost 怎样不修改配置文件实现phpmyadmin的访问 以上修改配置文件虽然可以正常访问,但是完全不对。 以下提供正确的修改方法 打开终端 mysql -u root -p Enter password: 密码 mysql> user mysql;

mysql> SELECT User, Password, Host FROM user;
显示如下信息
root有对应的localhost有对应的127.0.0.1
+——————+——————————————-+———–+
| User | Password | Host |
+——————+——————————————-+———–+
| root | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 | localhost |
| root | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 | r00t |
| root | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 | 127.0.0.1 |
| root | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 | ::1 |
| | | localhost |
| | | r00t |
| debian-sys-maint | *48985B7A306A68E245ACBEF1E942365F5F9F4E3A | localhost |
| phpmyadmin | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 | localhost |
+——————+——————————————-+———–+
8 rows in set (0.00 sec)

说明权限正确

输入status 查看

mysql> status

————–
mysql Ver 14.14 Distrib 5.5.35, for debian-linux-gnu (i686) using readline 6.2

Connection id: 50
Current database: mysql
Current user: root@localhost
SSL: Not in use
Current pager: stdout
Using outfile: ”
Using delimiter: ;
Server version: 5.5.35-0ubuntu0.13.10.2 (Ubuntu)
Protocol version: 10
Connection: Localhost via UNIX socket
Server characterset: latin1
Db characterset: latin1
Client characterset: utf8
Conn. characterset: utf8
UNIX socket: /var/run/mysqld/mysqld.sock
Uptime: 1 hour 53 min 14 sec

Threads: 2 Questions: 349 Slow queries: 0 Opens: 223 Flush tables: 1 Open tables: 54 Queries per second avg: 0.051
————–

看到这一行
UNIX socket: /var/run/mysqld/mysqld.sock

Localhost 是通过socket建立连接的/var/run/mysqld/mysqld.sock

以上会出现什么情况
1、$link = mysql_connect(“127.0.0.1”, “root”, “123456”) or die(“连接服务器错误:” . mysql_error());
可以访问数据库,无报错

2、$link = mysql_connect(“localhost:/var/run/mysqld/mysqld.sock”, “root”, “123456”) or die(“连接服务器错误:” . mysql_error());
可以访问数据库,无报错

3、$link = mysql_connect(“localhost”, “root”, “123456”) or die(“连接服务器错误:” . mysql_error());
不能访问报错 提示No such file or directory错误

以上错误可以通过php.ini修改解决

打开php.ini

gedit ‘/usr/local/php5/etc/php.ini’ (这是我的位置,你的不一定就是这里,我的php版本是php5.5.10)

找到981行改为
pdo_mysql.default_socket= /var/run/mysqld/mysqld.sock

1130行
mysql.default_socket = /var/run/mysqld/mysqld.sock

1189行
mysqli.default_socket = /var/run/mysqld/mysqld.sock

如果以上修改没错就可以重启服务器了,或者重启电脑
php-fpm 需要重启:
kill -USR2 `cat /usr/local/php5/var/run/php-fpm.pid`
如果没有去掉 php-fpm.conf中 pid = run/php-fpm.pid前的注释以上命令无法执行。

重新加载配置
/usr/local/nginx/sbin/nginx -s reload

如果没有效果建议重启电脑。

以上修改才是正确的方法
通过修改phpmyadmin下面的配置文件的方法都是错误的做法。
通过以上的修改就可以正常使用localhost 地址了。

顶一下 2 踩一下 0

你可能对以下内容感兴趣!

  1. win7下配置nginx+php+mysql开发环...
  2. ubuntu13.10+nginx+mysql+p...
  3. phpmyadmin数据库导出乱码问号
  4. 在ubnutu 下安装xampp php+mysq...

发表回复

*

w_0002.gif w_0009.gif w_0007.gif w_0011.gif w_0005.gif w_0008.gif w_0010.gif w_0003.gif w_0012.gif w_0001.gif w_0006.gif