PHP 是一种广泛使用的服务器端脚本语言,特别适用于 Web 开发。MySQL 是一个流行的关系型数据库管理系统(RDBMS),用于存储和管理数据。在 PHP 中连接 MySQL 数据库时,默认情况下会使用 MySQL 服务器的默认端口(通常是 3306)。
有时需要更改 MySQL 服务器的端口,原因可能包括:
MySQL 的配置文件通常是 my.cnf
或 my.ini
,具体位置取决于操作系统和安装方式。
Linux/macOS:
sudo nano /etc/my.cnf
Windows:
notepad C:\Program Files\MySQL\MySQL Server X.X\my.ini
在配置文件中找到 [mysqld]
部分,添加或修改 port
参数:
[mysqld]
port = 3307
保存文件并退出编辑器。
修改配置文件后,需要重启 MySQL 服务器以使更改生效。
Linux/macOS:
sudo systemctl restart mysqld
Windows:
net stop mysql
net start mysql
如果 PHP 应用程序需要连接到新的 MySQL 端口,需要在连接代码中指定端口。
<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "database";
// 创建连接
$conn = new mysqli($servername, $username, $password, $dbname, 3307);
// 检查连接
if ($conn->connect_error) {
die("连接失败: " . $conn->connect_error);
}
echo "连接成功";
?>
问题:更改端口后,MySQL 服务器无法启动,提示端口已被占用。
解决方法:
netstat
或 lsof
命令查找占用端口的进程并终止它。Linux/macOS:
sudo netstat -tuln | grep 3307
sudo kill -9 <PID>
Windows:
netstat -ano | findstr :3307
taskkill /PID <PID> /F
问题:更改端口后,外部无法连接到 MySQL 服务器。
解决方法:
Linux:
sudo ufw allow 3307/tcp
Windows: 使用 Windows 防火墙高级安全设置添加入站规则。
通过以上步骤,你可以成功更改 PHP 和 MySQL 的连接端口,并解决可能遇到的问题。
云+社区沙龙online [国产数据库]
云+社区沙龙online[数据工匠]
云+社区沙龙online [技术应变力]
腾讯技术创作特训营第二季
云+社区技术沙龙[第12期]
DB TALK 技术分享会
云+社区技术沙龙[第28期]
云+社区技术沙龙[第10期]
领取专属 10元无门槛券
手把手带您无忧上云