MySQL 是一款常用的關系型數(shù)據(jù)庫管理系統(tǒng),但是在使用過程中可能會遇到啟動服務不能啟動不了的情況。下面我們來分析一下可能的原因。
[root@localhost ~]# service mysqld start 啟動 MySQL:[失敗]
1.端口占用
[root@localhost ~]# netstat -lnp|grep 3306 tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 5871/mysqld
可以看到 3306 端口被 mysqld 占用了,此時無法啟動 MySQL 服務。
2.日志文件錯誤
[root@localhost ~]# tail -f /var/log/mysqld.log 2020-09-13T08:40:20.023430Z 0 [ERROR] [MY-010457] [Server] --skip-grant-tables option cannot be used with --binary-as-hex and --database in MySQL 8.0.11 and higher 2020-09-13T08:40:20.023448Z 0 [ERROR] [MY-010119] [Server] Aborting 2020-09-13T08:40:20.024510Z 0 [System] [MY-010910] [Server] /usr/sbin/mysqld: Shutdown complete (mysqld 8.0.16) MySQL Community Server - GPL.
通過查看日志文件,可以看到 MySQL 服務啟動失敗的原因是“在 MySQL 8.0.11 及更高版本中,--skip-grant-tables 選項不能與 --binary-as-hex 和 --database 一起使用”。
3.配置文件錯誤
[root@localhost ~]# mysqld --verbose --help|grep my.cnf /etc/my.cnf /etc/mysql/my.cnf ~/.my.cnf
可以通過輸入上面的命令來獲取 MySQL 配置文件的路徑。檢查配置文件是否正確設置。
通過以上幾種方式,我們可以找到 MySQL 啟動服務不能啟動不了的原因,并及時解決問題。