CentOS系统中MySQL日志文件的默认位置及查看方法
默认路径:通常位于/var/log/mysql/error.log或/var/log/mysqld.log(取决于MySQL版本和配置)。
作用:记录MySQL服务器启动、关闭过程中的错误信息,以及运行时的关键错误(如权限问题、连接失败等)。
查看命令:使用tail命令实时查看最新错误日志(需root权限):
sudo tail -f /var/log/mysql/error.log # 或 /var/log/mysqld.log
若不确定错误日志路径,可通过MySQL命令查询:
mysql -u root -p -e "SHOW VARIABLES LIKE 'log_error';"
默认路径:默认关闭,启用后通常位于/var/log/mysql/query.log或/var/log/mysql/mysql.log。
作用:记录所有客户端发送到服务器的SQL查询(包括SELECT、INSERT等),用于审计或排查查询问题。
启用与查看步骤:
/etc/my.cnf(或/etc/mysql/my.cnf),在[mysqld]段添加:general_log = 1
general_log_file = /var/log/mysql/mysql.log
sudo systemctl restart mysqld
sudo tail -f /var/log/mysql/mysql.log
默认路径:默认关闭,启用后通常位于/var/log/mysql/slow-query.log。
作用:记录执行时间超过long_query_time阈值(默认10秒)的查询,用于性能优化(如识别慢查询)。
启用与查看步骤:
/etc/my.cnf,在[mysqld]段添加:slow_query_log = 1
slow_query_log_file = /var/log/mysql/slow-query.log
long_query_time = 2 # 设置慢查询阈值为2秒(可根据需求调整)
sudo systemctl restart mysqld
sudo tail -f /var/log/mysql/slow-query.log
默认路径:位于/var/lib/mysql/目录下,文件名格式为hostname-bin.000001(hostname为服务器主机名)。
作用:记录所有更改数据库数据的SQL语句(如INSERT、UPDATE、DELETE),用于数据恢复、主从复制。
查看命令:使用mysqlbinlog工具解析二进制日志(需root权限):
sudo mysqlbinlog /var/lib/mysql/hostname-bin.000001
若需查看最新二进制日志文件名,可通过MySQL命令查询:
mysql -u root -p -e "SHOW BINARY LOGS;"
logrotate)而异,建议通过SHOW VARIABLES LIKE 'log_%';命令确认当前配置。root用户或具有SELECT权限的数据库用户)。logrotate工具),避免日志文件占用过多磁盘空间。