标签:#2002 cannot log in to the mysql server xampp
这篇其实是编程无关的技术贴。
近期想接触学习一下PHP,手里的电脑是windows7系统的笔记本,懒得为了这点需要去装linux或者虚拟机搞火到不行的LAMP,找到了XAMPP,XAMPP是一个把Apache网页服务器与PHP、Perl及MySQL集合在一起的安装包,允许用户可以在自己的电脑上轻易的建立网页服务器。
于是问题来了,之前搞JAVA EE时电脑上装了mysql5.1,但是XAMPP中也安装了mysql,版本是5.6,怎么保证在XAMPP的mysql使用正常的情况下,原先的JAVA EE的mysql也可以不出问题的使用呢。
这个问题需要保证以下两个关键点:第一、mysql端口号不能冲突;第二、两个MySQL服务不冲突。
说完原理,那么就来按步骤说一下解决方案。
1.修改mysql端口号:
原先的5.1版已经占用了3306端口,并且许多项目已经连接了这个端口的数据库,为了避免改动原有项目,于是将XAMPP的MySQL端口号设置为3307。
注意:3307是未被占用的端口号,在dos命令行下输入netstat -aon|findstr 3307 查看端口3307的被占用情况。也可以是3308等端口,只要未被占用即可。
修改方式:
1)修改D:\xampp\mysql\bin目录下my.ini文件,如下port=3307:
[client] # password = your_password port = 3307 socket = "D:/xampp/mysql/mysql.sock" # Here follows entries for some specific programs # The MySQL server [mysqld] port= 3307 socket = "D:/xampp/mysql/mysql.sock"
2) 修改D:\xampp\phpMyAdmin\libraries目录下config.default.php文件:
找到:
$cfg[‘Servers‘][$i][‘port‘] = ‘‘;
改为:
$cfg[‘Servers‘][$i][‘port‘] = ‘3307‘;
2.重设MySQL服务
MySQL在windows中以服务存在并运行,在XAMPP Control Panel中点击Services按钮打开系统服务,也可以在命令行中输入services.msc 打开。
在其中找到命名为MySQL的服务,这就是mysql旧版本5.1启动的服务,由于该服务的存在,XAMPP中启动MySQL会失败。处理方式是将之前的MySQL服务重命名,以保证两个MySQL都可以提供服务。
操作步骤如下:
1)管理员方式打开命令行,进入旧的MySQL路径C:\Program Files\MySQL\MySQL Server 5.1\bin
2)输入mysqld --remove,删除mysql服务。
3)输入mysqld --install MySQL5.1,新建一个名为MySQL5.1的服务,注意后面的MySQL5.1参数一定要有,如果直接mysqld --install会默认创建名为MySQL的服务。
这样,在XAMPP中再启动MySQL就可以成功执行了。
备注,如果你之前的MySQL服务名不是默认的,那么恭喜,“重设MySQL服务”这一步骤就不需要进行了。
打开localhost/phpmyadmin/路径,root登录成功。
启动一个原先的JAVA EE系统,没有问题。
以上。
windows 7 本机已安装mysql5的情况下安装XAMPP
标签:#2002 cannot log in to the mysql server xampp
原文地址:http://mumufairy.blog.51cto.com/6184508/1606231