启动mysql时的异常为:[ERROR] Can‘t start server: Bind on TCP/IP port. Got error: 98: Address already in used

1、当启动mysql时日志显示异常为:

[ERROR] Can't start server: Bind on TCP/IP port. Got error: 98: Address already in use , [ERROR] Do you already have another mysqld server running on port: 53306 ?   [ERROR] Aborting

2、问题排查:[ERROR] Do you already have another mysqld server running on port: 53306 ? 的意思是:你已经有另一个mysqld服务器在端口上运行:53306?很大可能是53306端口被占用了,使用lsof -I:53306 命令查看。

[root@localhost data]# lsof -i:53306
COMMAND   PID USER   FD   TYPE    DEVICE SIZE/OFF NODE NAME
java     9863 root  507u  IPv6 168711349      0t0  TCP localhost:53306->localhost:53306 (ESTABLISHED)
java    22669 root  417u  IPv6 172789677      0t0  TCP localhost.localdomain:53306->localhost.localdomain:53306 (ESTABLISHED)

发现53306端口被pi为9863和22669的进程所占用着。

3、解决问题:

然后使用kill -9 进程pid 命令杀死这两个进程。

[root@localhost data]# kill -9 22669
[root@localhost data]# kill -9 9863

最后重启MySQL即可,问题就解决了。

[root@localhost bin]# systemctl restart mysql
sudo cat /usr/local/mysql/data/VM-16-9-centos.err 2025-03-20T02:00:15.739959Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details). 2025-03-20T02:00:15.740032Z 0 [Note] --secure-file-priv is set to NULL. Operations related to importing and exporting data are disabled 2025-03-20T02:00:15.740057Z 0 [Note] /usr/local/mysql/bin/mysqld (mysqld 5.7.36) starting as process 813856 ... 2025-03-20T02:00:15.747664Z 0 [Note] InnoDB: PUNCH HOLE support available 2025-03-20T02:00:15.747684Z 0 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins 2025-03-20T02:00:15.747688Z 0 [Note] InnoDB: Uses event mutexes 2025-03-20T02:00:15.747691Z 0 [Note] InnoDB: GCC builtin __sync_synchronize() is used for memory barrier 2025-03-20T02:00:15.747695Z 0 [Note] InnoDB: Compressed tables use zlib 1.2.11 2025-03-20T02:00:15.747698Z 0 [Note] InnoDB: Using Linux native AIO 2025-03-20T02:00:15.747921Z 0 [Note] InnoDB: Number of pools: 1 2025-03-20T02:00:15.748013Z 0 [Note] InnoDB: Using CPU crc32 instructions 2025-03-20T02:00:15.749664Z 0 [Note] InnoDB: Initializing buffer pool, total size = 128M, instances = 1, chunk size = 128M 2025-03-20T02:00:15.758255Z 0 [Note] InnoDB: Completed initialization of buffer pool 2025-03-20T02:00:15.760782Z 0 [Note] InnoDB: If the mysqld execution user is authorized, page cleaner thread priority can be changed. See the man page of setpriority(). 2025-03-20T02:00:15.772580Z 0 [Note] InnoDB: Highest supported file format is Barracuda. 2025-03-20T02:00:15.783164Z 0 [Note] InnoDB: Creating shared tablespace for temporary tables 2025-03-20T02:00:15.783219Z 0 [Note] InnoDB: Setting file './ibtmp1' size to 12 MB. Physically writing the file full; Please wait ... 2025-03-20T02:00:15.815854Z 0 [Note] InnoDB: File './ibtmp1' size is now 12 MB. 2025-03-20T02:00:15.816646Z 0 [Note] InnoDB: 96 redo rollback segment(s) found. 96 redo rollback segment(s) are active.
03-21
<think>好的,用户想查看MySQL 5.7.36的启动日志来排查问题,需要分析日志中的常见警告和提示。首先,我得确定日志的位置。根据引用[1]和[2],在CentOS系统下,默认的日志路径是/var/log/mysqld.log,用户可以使用grep命令查找临密码,这可能也是日志中的一部分信息。 接下来,用户需要知道如何查看启动日志。可能需要用tail或者cat命令,比如tail -f /var/log/mysqld.log实查看,或者用less打开日志文件。然后,分析常见的警告信息。引用[3]提到InnoDB和UUID的警告是初始化的正常现象,不需要处理。GTID表警告在初始化后会自动解决,TLS警告需要配置my.cnf文件,自签名证书在生产环境中需要更换为受信任的CA证书。 另外,用户可能遇到的性能问题,比如内存不足或配置不当,需要检查错误日志中的相关条目。例如,内存不足可能导致服务无法启动,这需要调整innodb_buffer_pool_size等参数。启动失败还可能和权限有关,比如数据目录的权限是否正确,或者端口是否被占用,需要检查错误日志中的具体提示。 还需要考虑用户安装MySQL的方式,引用[4]和[5]提到通过yum安装和源码编译安装的不同路径,但日志路径应该还是相同的。用户可能还需要注意区设置或字符集的问题,这些也会在日志中有提示。最后,确保用户知道如何修改配置文件和重启服务,比如修改my.cnf后使用systemctl restart mysqld来应用更改。</think>### MySQL 5.7.36 启动日志分析及常见警告说明 #### 1. **启动日志路径** MySQL 5.7.36 的启动日志默认路径为: - 系统日志:`/var/log/mysqld.log` 可通过以下命令实查看日志: ```bash tail -f /var/log/mysqld.log ``` #### 2. **常见警告及说明** ##### (1) **InnoDB初始化警告** ```log [Note] InnoDB: The first innodb_system data file 'ibdata1' did not exist. A new tablespace will be created! ``` - **说明**:首次启动InnoDB存储引擎会自动创建系统表空间文件`ibdata1`,属于正常初始化行为[^3]。 ##### (2) **UUID警告** ```log [Warning] InnoDB: New UUID is disjoint from previous log sequence number ``` - **说明**:当数据目录初始化或服务器首次启动生成新的UUID,无需处理。 ##### (3) **GTID表警告** ```log [Warning] Neither --relay-log nor --relay-log-index were used ``` - **说明**:未配置中继日志路径,若未启用主从复制,可忽略此警告[^3]。 ##### (4) **TLS协议警告** ```log [Warning] TLSv1 and TLSv1.1 are deprecated. Please use TLSv1.2 or higher ``` - **解决方法**:在`my.cnf`中配置: ```ini [mysqld] tls_version = TLSv1.2,TLSv1.3 ``` ##### (5) **自签名证书警告** ```log [Warning] CA certificate ca.pem is self-signed ``` - **说明**:测试环境可忽略,生产环境建议替换为受信任的CA证书。 #### 3. **关键错误排查** ##### (1) **启动失败** ```log [ERROR] Can't start server: Bind on TCP/IP port. Got error: 98: Address already in use ``` - **解决方法**:检查端口占用(如3306)并终止冲突进程: ```bash netstat -tulnp | grep 3306 ``` ##### (2) **权限问题** ```log [ERROR] Could not open file '/var/log/mysql/error.log' for error logging: Permission denied ``` - **解决方法**:调整日志文件权限: ```bash chown mysql:mysql /var/log/mysqld.log ``` ##### (3) **内存不足** ```log [ERROR] InnoDB: Cannot allocate memory for the buffer pool ``` - **解决方法**:在`my.cnf`中降低`innodb_buffer_pool_size`值。 #### 4. **日志分析工具建议** 使用`grep`快速定位关键信息: ```bash grep -E "ERROR|WARNING" /var/log/mysqld.log ``` ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

欢喜躲在眉梢里-柚子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值