当前位置:首页 > php > 正文

解决 phpmyadmin #2002 无法登录 MySQL 服务器

解决 .#2002 无法登录 MySQL 服务器

将config.sample.inc.php复制成config.inc.php

出现这个错误,表示没有连接到数据库。修改config.inc.php文件,

复制代码 代码如下:
将$cfg[‘Servers’][$i][‘host’] = ‘localhost’;
改为$cfg[‘Servers’][$i][‘host’] = ‘127.0.0.1’;(根据个人的理解,是因为localhost在httpd.conf中没有配置,默认不识别)

或者

修改 php.ini : mysql.default_socket = /tmp/mysql.sock

2 条评论

  1. 板凳2013-05-10 下午12:25回复
    admin

    1..要是你想用空密码,则将phpmyadmin下的

    config.inc.php(根目录)或者config.default.php(根目录)
    再则:libraries\config.default.php
    (友情提示,由于版本不一样可能涉及的文件不同,基本为这三个文件)
    中的$cfg[‘Servers’][$i][‘AllowNoPassword’] = false;
    改为$cfg[‘Servers’][$i][‘AllowNoPassword’] = true;

  2. 沙发2013-05-10 下午12:26回复
    admin

    在启动mysql命令行最后加上: –skip-grant-tables 参数

    其他的一些方法:

    1. 向mysqld server 发送kill命令关掉mysqld server(不是 kill -9),存放进程ID的文件通常在MYSQL的数据库所在的目录中。
    killall -TERM mysqld
    你必须是UNIX的root用户或者是你所运行的SERVER上的同等用户,才能执行这个操作。
    2. 使用--skip-grant-tables' 参数来启动 mysqld。 (LINUX下/usr/bin/safe_mysqld --skip-grant-tables , windows下c:\mysql\bin\mysqld --skip-grant-tables)

    3. 然后无密码登录到mysqld server ,
    >use mysql
    >update user set password=password("new_pass") where user="root";
    >flush privileges;
    。你也可以这样做:
    mysqladmin -h hostname -u user password ‘new password”。

    4. 载入权限表: mysqladmin -h hostname flush-privileges' ,或者使用 SQL 命令FLUSH PRIVILEGES’。
    5.killall -TERM mysqld
    6.用新密码登陆

发表评论