MySQL 是一款常用的關系型數據庫,但在啟動 MySQL 的過程中,有些用戶可能會遇到拒絕訪問的問題。那么,這個問題的原因是什么呢?下面我們一起來了解一下。
[root@localhost ~]# systemctl start mysqld Job for mysqld.service failed because the control process exited with error code. See "systemctl status mysqld.service" and "journalctl -xe" for details.
上述錯誤信息表明,啟動 MySQL 出現了問題。我們可以通過 journalctl 命令查看詳細的日志信息,以便更好地了解問題的根源。
[root@localhost ~]# journalctl -xe ... Feb 02 14:06:45 localhost.localdomain mysqld[6189]: 2022-02-02T06:06:45.452558Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_fo Feb 02 14:06:45 localhost.localdomain mysqld[6189]: 2022-02-02T06:06:45.452960Z 0 [ERROR] Fatal error: Please read "Security" section of the manual to find out how to run MySQL Feb 02 14:06:45 localhost.localdomain mysqld[6189]: 2022-02-02T06:06:45.452978Z 0 [ERROR] Aborting Feb 02 14:06:45 localhost.localdomain systemd[1]: mysqld.service: main process exited, code=exited, status=1/FAILURE Feb 02 14:06:45 localhost.localdomain systemd[1]: Failed to start MySQL Server.
日志信息顯示,出現了一個嚴重的錯誤,提示需要查看 MySQL 手冊中的“Security”章節來解決問題。通常,這個錯誤是由于 MySQL 數據目錄權限的問題導致的。
[root@localhost ~]# ls -l /var/lib/mysql drwxr-xr-x. 2 mysql mysql 4096 Feb 2 13:58 mysql drwxr-xr-x. 2 mysql mysql 4096 Feb 2 13:58 performance_schema drwx------. 2 root root 16384 Feb 2 13:58 lost+found drwxr-xr-x. 2 mysql mysql 4096 Feb 2 13:58 test
我們可以看到,/var/lib/mysql 目錄下的文件擁有者為 mysql,如果啟動 MySQL 的用戶權限不足,就會導致拒絕訪問的錯誤。
為了解決這個問題,我們可以使用 chown 命令將 /var/lib/mysql 目錄的擁有者改為啟動 MySQL 的用戶:
[root@localhost ~]# chown mysql:mysql /var/lib/mysql
完成上述步驟后,再次啟動 MySQL 就應該不會出現拒絕訪問的問題了。
以上就是 MySQL 啟動出現拒絕訪問的排除方法,希望對大家有所幫助。