wamp本地+两个版本MySQL(端口冲突)+PHP代码不能连接MySQL数据库

  • Post author:
  • Post category:php


  • win10
  • wampServer3.2.3(MySQL5.7.31)
  • MySQL8.0.23

    其实一开始就应该把先前装的MySQL卸载干净,包括环境变量等,单纯的用wamp的安装包省事。

自己的云服务LNMP搭好了,想着搭一个本地wamp做开发环境。坑s啊,一个人填坑s太寂寞了,即使是一些小坑也不容易。有同城业余玩玩的吗?

第一个坑:端口冲突:先装的MySQL8.0默认用了3306端口,如果不在装wamp的时候,对应的MySQL5.7配置文件My.ini改用别的端口就会冲突,wamp小标就是橙色,MySQL5.7服务没法启动。所以要在安装目录下的配置文件My.ini里对应的改成!=3306的端口号,如8806.

第二个坑:端口冲突解决了,想用熟悉的集成IDE—-Eclipse,又是一系列的配置。先是下载安装PHP develop tool(PDT),然后workspace下编码GBK–>UTF-8;Debug–>Xdebug,需要先鼠标左键单击wampserver,php设置|PHP|xdebug_remote_enable,然后在回到Eclipse的PDT里勾选等等。

第三个坑:Eclipse可以正常写一些不连接数据库的程序,还能报错等,但是一连数据库就报错,还是程序里没有中文也乱码的”PHP PDO连接MySQL数据库时,如果MySQL没有启动或者无法访问时将会出现SQLSTATE[HY000] [2002]错误”。最后是这篇博文搞清楚了~https://www.cnblogs.com/xiaogou/p/9989944.html

甚至于去改了注册表如此篇博文,都还是乱码(注册表还没改回)。

~https://blog.csdn.net/dream_follower/article/details/88343374

第四个坑:其实是和第一个坑关联的,因为如果是默认端口条件下,不写明端口,PHP代码和MySQL数据库都按默认端口(3306)连接,能正常通信;但是现在MySQL的配置里已改了端口(8806),对应PHP代码要明确把通信端口写出来(8806),即如$servername = “localhost:8806”。最后的最后,以下是摘的:

出现“由于目标计算机积极拒绝,无法连接”可能的原因有:

  1. MySQL数据库服务器没有启动。

    这种情况启动一下MySQL服务器就OK了。

    数据库服务器地址填写错误。
  2. 服务器地址可以以域名形式填写。

    也可以以回送IP(如127.0.0.1)内网IP(如192.168.1.2)外网IP(如110.188.213.43)填写MySQL服务器绑定了主机名

    如果MySQL配置项中设置了类似于bind-address=wuxiancheng.cn的选项,使用绑定的主机(wuxiancheng.cn)来访问即可
  3. 数据库端口错误。

    MySQL数据库服务器默认端口为3306,如果修改了服务器使用的端口,连接数据库时必须使用相同的端口号。

    在MySQL配置文件的[mysqld]段,查看是否有port=3306,如果有并且不是3306,连接MySQL数据库的程序代码中必须指定相同的端口号。
  4. MySQL服务器所在的计算机开启了防火墙。

    在防火墙设置中将MySQL服务器使用的端口设置为允许访问即可



版权声明:本文为NetWD_WestWD原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。