最近在使用 CentOS 7 安裝 MySQL 時(shí)遇到了一個(gè)問題,即 MySQL 日志一直保持空白的狀態(tài)。在經(jīng)過多次嘗試后,我總結(jié)了一些解決該問題的步驟。
第一步:檢查 MySQL 配置文件
$ sudo nano /etc/my.cnf
在 my.cnf 文件中,找到以下內(nèi)容:
[mysqld] log-error=/var/log/mysqld.log
確認(rèn)該路徑下是否有 mysqld.log 文件,如果不存在,則創(chuàng)建一個(gè)該路徑下名為 mysqld.log 的文件:
$ sudo touch /var/log/mysqld.log $ sudo chown mysql.mysql /var/log/mysqld.log $ sudo chmod 644 /var/log/mysqld.log
第二步:檢查 selinux 是否啟用
$ sestatus
如果 selinux 處于啟用狀態(tài),則需要將其關(guān)閉或者設(shè)置成 permissive 模式。否則,MySQL 將無法訪問 /var/log/mysqld.log 文件。
$ sudo nano /etc/selinux/config
將 SELINUX=enforcing 修改為無。 并重啟服務(wù)器,使之生效。
第三步:檢查 log-error 是否正確配置
在 MySQL 命令行下執(zhí)行以下命令:
$ mysql mysql>SELECT @@global.log_error;
如果返回的不是/var/log/mysqld.log ,則需要在 my.cnf 文件中的 [mysqld] 段中添加以下配置:
log-error=/var/log/mysqld.log
第四步:檢查 mysql 是否有權(quán)限寫入 mysqld.log 文件
在 MySQL 命令行下執(zhí)行以下命令:
$ mysql mysql>SELECT @@global.log_error;
如果返回的不是/var/log/mysqld.log ,則需要在 my.cnf 文件中的 [mysqld] 段中添加以下配置:
log-error=/var/log/mysqld.log
第五步:重啟 MySQL
$ sudo systemctl restart mysqld
現(xiàn)在,MySQL 日志應(yīng)該已經(jīng)正常工作了。