MySQL的错误日志用于记录MySQL服务进程mysqld在启动/关闭或运行过程中遇到的错误信息。
MySQL的错误日志通常由mysqld或mysqld_safe程序产生,前文已经讲解过MySQL的启动原理,因此,可利用如下方法配置记录MySQL错误日志。 方法1:在my.cnf配置文件中调整,注意,是在[mysqld_safe]或[mysqld]模块的下面进行配置。命令如下: [mysqld] log-error = /data/mysql/error.err /data/mysql/error.err 都是自己手动创建的,记得修改所属的用户与所属的组为mysql ,或者修改操作权限 chown -R mysql:mysql /data/mysql chmod -R 755 /data/mysql 方法2:在启动MySQL服务的命令里加入记录错误日志的参数。 示例如下: log-error=/data/mysql/error/error.err 查看到的最终结果为: show variables like ‘log_error%’; 修改文件夹的权限
管理员可以使用命令轮询错误日志,例如可以按天轮询,具体方法如下: [root@songls~]# cd /data/mysql/error/ #<==切换到日志目录下。 [root@songls mysql]# mv error.err error_$(date +%F).err #<==将错误日志按天 移动改名。 [root@songls data]# mysqladmin flush-logs #<==执行刷新日志命令。 [root@songls data]# ls -l error.err -rw-rw----. 1 mysql mysql 0 Mar 19 19:34 error.err #<==新的错误日志诞生了。
新手安装数据库时,遇到数据库无法启动时的排查方法具体如下。 1)先清空错误日志文件,然后重新启动MySQL服务,再查看日志文件报什么错误,并根据错误日志进行处理。 2)如果无法解决,则删除数据文件,重新初始化数据库。 假设在排查故障时,得到的错误日志提示为: 180321 17:36:26 InnoDB: Completed initialization of buffer pool 180321 17:36:26 InnoDB: Operating system error number 13 in a file operation. InnoDB: The error means mysqld does not have the access rights to InnoDB: the directory. InnoDB: File name ./ibdata1 根据提示可知,该错误是权限问题导致的问题,可对数据目录递归执行权限,然后再重启数据库。命令如下: [root@songls data]# chown -R mysql:mysql /data/mysql/error