我已在本地计算机上安装了MySQL服务器企业版5.1,现在我想安装phpMyAdmin,但它不起作用。
我将phpMyAdmin红外连接到我的服务器根目录并浏览到“localhost / phpMyAdmin / setup / index.php”,启动了一个新的服务器,我改变的唯一设置是填写我的MySQL密码字段“Password for config” AUTH“
所以现在当我尝试登录时,我收到一条错误消息“#2002无法登录到mysql服务器phpmyadmin”
有谁知道什么是错的?我从昨天起就遇到过这个问题。
答案 0 :(得分:118)
如果您在登录phpmyadmin时遇到#2002 Cannot log in to the MySQL server
错误,请尝试修改phpmyadmin/config.inc.php
并更改:
$cfg['Servers'][$i]['host'] = 'localhost';
为:
$cfg['Servers'][$i]['host'] = '127.0.0.1';
编辑(2015年3月20日):
请注意,如果您正在进行全新安装,则config.inc.php可能不存在。您需要重命名/复制config.sample.inc.php,然后更改相关行
答案 1 :(得分:24)
这是旧的,但因为它是Google的第一个结果,
请注意,当MySql服务关闭时也会发生这种情况,
我通过使用以下命令重新启动MySQL服务器来修复此问题:
/etc/init.d/mysql restart
(命令用于CentOS / CPanel服务器)
答案 2 :(得分:9)
背景: 我正在使用Linux Mint 13.在我的情况下,当我重新启动计算机并且我的DHCP分配了一个新的本地IP地址(从192.168.0.2到192.168.0.4)到我的桌面时,发生了这个错误。
sudo gedit /etc/mysql/my.cnf
更新
bind-address = 192.168.0.2
到
bind-address = localhost
这解决了这个问题。享受。
答案 3 :(得分:4)
如果您在完成设置脚本后忘记(就像我一样)将config.inc.php
移动到正确的位置,也会导致这种情况。
创建config
文件夹并执行chmod o+rw config
并转到localhost/phpmyadmin/setup
并执行这些步骤后,您需要返回命令行并完成任务:
mv config/config.inc.php . # move file to current directory
chmod o-rw config.inc.php # remove world read and write permissions
rm -rf config # remove not needed directory
上的完整说明
答案 4 :(得分:4)
在尝试了以上所有建议后,修复了我的#2002错误。
将以下行添加到config.inc.php文件中,并将数字更改为MySQL端口:
$cfg['Servers'][$i]['port'] = '3307'; // MySQL port
我安装了多个mysql实例,在这种情况下,我更新了my.ini以在端口3307上运行MySQL,但是没有更新phpMyAdmin以反映新端口。在我的情况下,config.inc.php文件中不存在该端口的行,所以我不知道它需要更新。
答案 5 :(得分:3)
你在机器上安装了MySQL吗?听起来你正在使用Windows; MySQL在您的计算机上作为“服务”运行(右键单击“我的电脑” - >“管理” - >“服务”。
答案 6 :(得分:3)
我已基本完成了此错误的所有stackoverflow,并没有解决我的问题。我能够直接从linux命令行登录mysql,但是用同一个用户和密码无法登录到phpmyadmin。
所以我把头撞到了墙上半天,直到我意识到它甚至没有读取/ etc / phpmyadmin下的config.inc.php(它唯一的地方是btw基于“find / -iname” config.inc.php“。所以我在/usr/share/phpMyAdmin/libraries/config.default.php中更改了主机,它终于奏效了。
我知道可能还有另外一个问题,为什么它没有从/ etc / phpmyadmin文件夹中读取配置,但我现在不能为此烦恼:P
tldr;如果您的设置似乎根本没有应用,请尝试在/usr/share/phpMyAdmin/libraries/config.default.php中进行更改
答案 7 :(得分:2)
我也经历过同样的事情,希望这会有所帮助。
cd /etc/init.d
./mysql start
请登录访问mysql和phpmyadmin
答案 8 :(得分:2)
当我更改AWS服务器的实例类型时,它发生在我身上。
{p>#2002 Cannot log in to the MySQL server
服务未启动时也会发生{p> mysqld
。
首先,您需要执行:
$ sudo service mysqld restart
这会给你:
$ sudo service mysqld restart
Stopping mysqld: [ OK ]
Starting mysqld: [ OK ]
之后不会出现错误。
P.S。在EC2实例上,还应该将主机从localhost
更改为127.0.0.1
,如上面的答案中所述。
答案 9 :(得分:1)
在我们的设置中多次出现此问题,所以我已经制作了一个清单。
这假设您希望phpMyAdmin使用UNIX套接字而不是TCP / IP在本地连接到MySQL。
UNIX套接字应该稍快一些,因为它们具有较少的开销,并且可以更安全,因为它们只能在本地访问。
<强>服务强>
service mysqld status
service mysqld start
service mysqld restart
MySQL配置 (my.cnf)
protocol=tcp
PHP配置 (php.ini)
如果您可以从命令行本地连接,但不能从phpMyAdmin连接,并且套接字文件不在默认位置:
mysqli.default_socket = *location*
pdo_myql.default_socket
和mysql.default_socket
只是为了确保service httpd restart
phpMyAdmin配置 (config.inc.php)
$cfg['Servers'][$i]['host'] = 'localhost';
$cfg['Servers'][$i]['socket'] = '*location*';
N.B。
正如 @chk 指出的那样;将$cfg['Servers'][$i]['host']
从localhost
设置为127.0.0.1
只会导致连接使用TCP / IP而不是使用套接字,而不是解决方案更多的是解决方法。
MySQL配置设置bind-address=
也只影响TCP / IP连接。
如果您不需要远程连接,建议使用skip-networking
关闭TCP / IP监听。
答案 10 :(得分:1)
在我的系统中,config.inc.php
不存在,但config.sample.inc.php
已存在。尝试将示例脚本复制到config.inc.php
答案 11 :(得分:1)
在使用DDoS(实际上是一种渗透测试工具)攻击服务器后,我遇到了同样的问题。
我首先去了/etc/var/mysql/error.log,看看InnoDB有文件锁。
通过重新启动服务器立即解决了这个问题,但这不是面向未来的。
答案 12 :(得分:1)
现在,您应该可以登录phpMyAdmin。
答案 13 :(得分:0)
这是php.ini文件中的以下行
mysql.default_socket = "MySQL"
到
mysql.default_socket = /var/run/mysqld/mysqld.sock
答案 14 :(得分:0)
对于Ubuntu 14.04和16.04,您可以应用以下命令
首先,检查MySQL服务是否正在运行
sudo服务mysql状态
现在您可以看到显示如下消息: mysql停止/等待。
现在应用命令: sudo服务mysql restart !
现在您可以看到显示如下消息:mysql start / running,进程8313。
现在转到浏览器并以root(用户名)和root(密码)登录,您将成功登录
答案 15 :(得分:0)
如果您已在计算机上安装了MySQL,则会出现此问题;如果您更改了MySql服务的帖子编号(3306(默认)),则会出现。为了解决此问题,您需要告诉phpMyAdmin寻找另一个端口而不是3306.要这样做,请转到C:\ xampp \ phpMyAdmin(默认位置)和打开\n
并添加此行Config.inc
$cfg['Servers'][$i]['port'] = '3307';
之后重新启动服务,现在应该可以正常运行。
答案 16 :(得分:0)
对我来说,问题是通过删除以我的电脑命名的.pid文件解决的:
sudo rm /var/mysql/computername.pid
答案 17 :(得分:0)
我的问题已通过此步骤解决
答案 18 :(得分:0)
这是因为你的系统安装了两个&#34; mysql&#34;包。一个安装是通过xampp / lampp完成的,另一个安装是通过mysql-debain软件包完成的。要解决这个问题,请转到&#34;突触管理器&#34;并删除mysql,然后您就可以从xampp服务器访问mysql。
注意:从synaptic manager中删除mysql不会影响通过xampp / lampp服务器安装的mysql。所以别担心!
答案 19 :(得分:0)
我在Windows 7注册表中遇到了MySQL服务路径的问题 新安装的XAMPP或更新的easyPHP没有改变 版本
所以如果有人有同样的问题(#2002错误,phpMyAdmin不能 你可以在'my.ini'中搜索win regedit并交换 新包装的路径。
例如,我在几个地方交换了旧路径:
C:\ EASYPH〜1.1VC \二进制\ MySQL的\ BIN \ EDS-mysqld.exe --defaults-file = C:\ EASYPH~1.1VC \ binaries \ mysql \ my.ini MySQL
更新的一个:
c:\ xampp \ mysql \ bin \ mysqld.exe --defaults-file = c:\ xampp \ mysql \ bin \ my.ini MySQL的
很奇怪,之前没有人在网上描述过这个问题!
答案 20 :(得分:0)
万一有人遇到麻烦,这是一个非常肯定的解决办法。
检查您的etc / hosts文件,确保每个主机都有root用户。
即。
127.0.0.1 home.dev
localhost home.dev
因此我将拥有2个或更多用户作为mysql的root用户:
root@localhost
root@home.dev
这就是我解决问题的方法。
答案 21 :(得分:0)
检查服务器是否正在运行。
答案 22 :(得分:0)
右键点击我的电脑 - &gt;管理 - &gt;服务 选择&#34;服务&#34;在&#34;服务和应用&#34;从右侧窗格 然后搜索&#34; mysql&#34;服务。 当您找到它时,双击以启动该服务。
现在您应该能够运行并登录PhpMyAdmin
答案 23 :(得分:0)
经过多次尝试修复后,发现问题出在Mysql用户不允许登录
netstat -na | grep -i 3306
如果它正在侦听所有接口,那么您可以将任何接口分配给此
$cfg['Servers'][$i]['host'] = 'ANY INTERFACE';
尝试使用上述IP使用命令行
进行登录mysql -u bla -p -h <Above_IP_address>
如果这样可行,那么你的phpmyadmin也可以工作,如果没有修复mysql.user表,那么上面的命令可以正常运行,并允许你登录mysql。
答案 24 :(得分:0)
对于那些在Windows机器上使用WAMP / XAMP时出现此错误的人。
这可能会对你有帮助。
您的解决方案是
当您遇到二进制日志问题时,请不要删除ib_logfile0或ib_logfile1。
答案 25 :(得分:0)
CAUTION: This method completely removes MySQL data!
我在Ubuntu 12.10,mysql 5.5
中遇到同样的问题我已经测试了许多与我的问题相关但没有主题工作的答案
最后我不得不重新安装完全删除我的mysql服务器然后再安装Mysql服务器
但是你应该知道你应该删除与Mysql相关的所有目录 我使用此链接完全删除mysql
sudo apt-get remove --purge mysql-server mysql-client mysql-common
sudo apt-get autoremove
sudo apt-get autoclean
sudo deluser mysql
sudo rm -rf /var/lib/mysql
sudo rm -rf /etc/mysql
sudo rm -rf /var/lib/mysql
sudo rm -rf /var/run/mysqld
然后再通过tasksel再次安装LAMP
https://serverfault.com/questions/254629/unable-to-install-mysql-server-in-ubuntu/296928#296928
答案 26 :(得分:0)
在'/etc/php5/apache2/php.ini'文件中的ubuntu操作系统中,执行this页面所说的配置。