解决 .#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中没有配置,默认不识别)
改为$cfg[‘Servers’][$i][‘host’] = ‘127.0.0.1’;(根据个人的理解,是因为localhost在httpd.conf中没有配置,默认不识别)
或者
修改 php.ini : mysql.default_socket = /tmp/mysql.sock
1..要是你想用空密码,则将phpmyadmin下的
config.inc.php(根目录)或者config.default.php(根目录)
再则:libraries\config.default.php
(友情提示,由于版本不一样可能涉及的文件不同,基本为这三个文件)
中的$cfg[‘Servers’][$i][‘AllowNoPassword’] = false;
改为$cfg[‘Servers’][$i][‘AllowNoPassword’] = true;
在启动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.用新密码登陆