首先,打开DedeCMS的配置文件common.inc.php或config.php,找到数据库连接部分,将默认的localhost:3306改为localhost:3307或其他端口,例如:$dbhost = 'localhost:3307';。然后在MySQL配置文件my.cnf中设置port=3307,重启MySQL服务。DedeCMS后台系统设置中同步修改数据库端口。测试连接,如果失败检查防火墙端口开放和SELinux设置。
第一篇来源内容
DedeCMS连接数据库失败,通常是端口问题。默认MySQL端口3306被占用,修改DedeCMS根目录下的data/common.inc.php文件,搜索dbhost,将localhost:3306改为p:localhost:3307,或者直接用127.0.0.1:3307。然后在phpMyAdmin或MySQL命令行确认新端口能连通。重启Apache或Nginx生效。
第二篇来源内容
端口冲突解决:用netstat -an | grep 3306查看占用端口进程,kill掉冲突进程,或改MySQL端口。在/etc/my.cnf添加port=3308,service mysqld restart。DedeCMS侧在install/index.php安装时指定端口,或编辑data/config.cache.inc.php的$dbhost='p:localhost:3308'。
第三篇来源内容
常见错误:Can't connect to MySQL server on 'localhost' (10061)。这是端口不对或服务未启动。Windows下my.ini设置port=3306,Linux my.cnf同。DedeCMS配置文件用$dbhost='127.0.0.1:3306';注意p:前缀用于持久连接。防火墙u fw allow 3306。
第四篇来源内容
多站点DedeCMS端口冲突:每个站点MySQL用不同端口,如3306、3307、3308。在虚拟主机配置中指定对应dbhost。备份数据库后修改config文件,避免直接改源文件。连接失败时用telnet localhost 3306测试端口通不通。
第五篇来源内容
阿里云ECS DedeCMS数据库连不上,安全组开放3306端口,RDS实例端口默认3306,配置文件$dbhost='rm-xxx.mysql.rds.aliyuncs.com:3306';用户名密码对。端口冲突用3307代替,重启服务。
第六篇来源内容
解决方法汇总:1.确认MySQL运行端口:mysql -u root -p -h 127.0.0.1 -P 3306。2.DedeCMS data/common.inc.php修改$dbhost和$dbport。3.重启所有服务。4.如果还是失败,检查PHP的mysqli扩展是否支持端口。
FAQ
Q: DedeCMS为什么默认连不上数据库?
A: 多半是端口不对,默认3306被占或防火墙挡住,改配置文件试试。
Q: 如何查看MySQL当前端口?
A: netstat -tlnp | grep mysqld 或进mysql执行SHOW VARIABLES LIKE 'port';。
Q: 改端口后DedeCMS安装失败怎么办?
A: 删install锁文件,手动编辑config.cache.inc.php指定端口。
Q: 远程连接端口问题?
A: my.cnf bind-address=0.0.0.0,开放防火墙,授权用户@'%'。