macBook 解决端口被占用的问题

本文指导如何通过lsof找出并杀死PID为2283的进程,从而释放被占用的8852端口,适用于重启项目或避免手动操作。

先上截图

解决
1. 先找到自己哪个端口号被占用,我的如上图是8852

2.lsof -i tcp:8852
结果

3.上图可知道我是PID是2283,执行命令kill -9 2283

4.重新启动项目,解决了。如果不想启动,可以先执行lsof -i tcp:8852,如果没出现上面2的截图,就代表端口占用已经解决了


 

<think>我们正在处理的是MacBook上安装的PostgreSQL,用户修改了错误的端口号,需要恢复默认配置。 根据引用[2]中的信息,用户通过Homebrew安装了PostgreSQL,并且默认端口是5432(从错误信息中的socket路径/tmp/.s.PGSQL.5432可以看出)。 步骤: 1. 找到PostgreSQL的配置文件。在Mac上,如果是通过Homebrew安装的,配置文件通常位于`/usr/local/var/postgres/postgresql.conf`(对于Intel芯片)或`/opt/homebrew/var/postgres/postgresql.conf`(对于Apple Silicon M1/M2芯片)。 2. 修改配置文件中的端口号设置,将其改回默认的5432。 3. 重启PostgreSQL服务。 具体操作: 1. **定位配置文件**: 打开终端,根据你的Mac芯片类型,使用以下命令之一打开配置文件: - Apple Silicon (M1/M2) 芯片: ```bash open /opt/homebrew/var/postgres/postgresql.conf ``` 或者使用文本编辑器(如nano): ```bash nano /opt/homebrew/var/postgres/postgresql.conf ``` - Intel 芯片: ```bash open /usr/local/var/postgres/postgresql.conf ``` 或者: ```bash nano /usr/local/var/postgres/postgresql.conf ``` 2. **修改端口设置**: 在配置文件中找到`port`设置,将其修改为: ```conf port = 5432 # 默认端口 ``` 如果该行被注释(以#开头),则取消注释并修改。 3. **保存并退出**: 如果使用nano编辑器,按`Ctrl+O`保存,然后按`Ctrl+X`退出。 4. **重启PostgreSQL服务**: 通过Homebrew安装的服务,可以使用以下命令重启: ```bash brew services restart postgresql ``` 5. **验证端口**: 重启后,检查PostgreSQL是否在5432端口监听: ```bash lsof -i :5432 ``` 或者使用: ```bash netstat -an | grep 5432 ``` 6. **连接测试**: 使用默认端口连接: ```bash psql -U postgres -p 5432 ``` 如果上述步骤无法解决问题,可能是其他原因导致,比如数据目录不正确或者服务没有正确启动。但根据引用[2]中的信息,用户之前通过执行`psql postgres`成功连接,说明数据目录和用户配置基本正确,主要是端口号的问题。 另外,如果用户之前修改了其他配置,也可以考虑重新初始化数据库(注意:这将删除现有数据,仅在没有重要数据时使用): 1. 停止PostgreSQL服务: ```bash brew services stop postgresql ``` 2. 删除数据目录(以Apple Silicon为例): ```bash rm -rf /opt/homebrew/var/postgres ``` 3. 重新初始化数据库: ```bash initdb /opt/homebrew/var/postgres ``` 4. 启动服务: ```bash brew services start postgresql ``` 但重新初始化是最后的手段,因为会丢失所有数据。所以优先推荐修改配置文件。 注意:在修改配置文件之前,确保没有其他服务占用5432端口。 如果用户忘记了修改的端口号,可以通过查看配置文件中的`port`设置来确认当前配置的端口。 根据引用[1]中的连接命令,用户尝试使用6432端口连接,说明可能误将端口改为了6432,但实际在配置文件中修改的端口可能是其他值。因此,直接查看配置文件是最准确的。 生成相关问题: 1. 如何查找PostgreSQL的配置文件位置? 2. 在Mac上如何重启PostgreSQL服务? 3. 修改PostgreSQL端口后无法连接怎么办? 4. 如何检查PostgreSQL是否正在运行? 5. 如何重新初始化PostgreSQL数据库?</think>### 在 MacBook 上恢复 PostgreSQL 默认端口配置的步骤 #### 1. **定位配置文件** PostgreSQL 的配置文件路径取决于安装方式(Homebrew 安装的默认路径): - **Apple Silicon (M1/M2) 芯片**: ```bash /opt/homebrew/var/postgres/postgresql.conf ``` - **Intel 芯片**: ```bash /usr/local/var/postgres/postgresql.conf ``` #### 2. **修改配置文件** ```bash # 使用 nano 编辑器打开配置文件(以 M1 芯片为例) nano /opt/homebrew/var/postgres/postgresql.conf ``` 找到 `port` 参数并修改为默认值 `5432`: ```conf port = 5432 # 恢复默认端口 ``` > 💡 如果该行被注释(以 `#` 开头),需删除注释符号 `#` #### 3. **重启 PostgreSQL 服务** ```bash # 通过 Homebrew 重启服务 brew services restart postgresql ``` #### 4. **验证配置** - **检查运行端口**: ```bash lsof -i :5432 | grep postgres ``` 应显示类似结果: ``` postgres 1234 ... TCP localhost:5432 (LISTEN) ``` - **通过 psql 连接验证**: ```bash psql -U postgres -p 5432 ``` 连接成功后执行: ```sql SHOW port; -- 应返回 5432 ``` #### 5. **常见问题解决** - **端口冲突**:若端口占用,先终止占用进程: ```bash sudo lsof -t -i :5432 | xargs kill -9 ``` - **配置文件错误**:若修改无效,检查是否有重复的 `port` 参数 - **权限问题**:确保当前用户有权编辑配置文件(可尝试 `sudo nano ...`) #### 6. **重置为初始状态(终极方案)** 若配置完全混乱,可重新初始化数据库(⚠️ **会删除所有数据**): ```bash brew services stop postgresql rm -rf /opt/homebrew/var/postgres # M1 芯片路径 initdb /opt/homebrew/var/postgres # 重新初始化 brew services start postgresql ``` --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值