MySQL管理之日志详解
MySQL管理之日志详解
MySQL日志详解
错误日志
MySQL的错误信息是在data目录下的
错误日志本身所定义的内容本身是可以定义的
编辑配置文件,定义错误日志:
log-error=/path/to/xx.err #定义是否启动错误日志的功能
log-warnings={1|0} #定义是否将警告信息也记录在错误日志中
而默认情况下错误日志也记录以下几个方面的消息:
1、服务器启动和关闭过程中的信息
未必是错误信息,比如mysql是如何去初始化存储引擎的过程记录在错误日志里等等
2、服务器运行过程中的错误信息
比如sock文件找不到,无法加载mysql数据库的数据文件,如果忘记初始化mysql或data dir路径找不到,或权限不正确等 都会记录在此
3、事件调度器运行一个事件时产生的信息
一旦mysql调度启动一个计划任务的时候,它也会将相关信息记录在错误日志中
4、在从服务器上启动从服务器进程时产生的信息
在复制环境下,从服务器进程的信息也会被记录进错误日志
一般情况下错误日志不会特别大,可以放心安全的开启,对于诊断服务器故障或问题也是非常有帮助的
如何定义mysql服务器错误日志相关功能:
mysql> showglobal variables like '%log%';
+-----------------------------------------+---------------------------------+
|Variable_name |Value |
+-----------------------------------------+---------------------------------+
| back_log | 50 |
|binlog_cache_size |32768 |
|binlog_direct_non_transactional_updates | OFF |
|binlog_format |MIXED |
|binlog_stmt_cache_size |32768 |
|expire_logs_days |0 |
| general_log | OFF |
|general_log_file |/mydata/data/localhost.log |
|innodb_flush_log_at_trx_commit |1 |
| innodb_locks_unsafe_for_binlog | OFF |
|innodb_log_buffer_size |8388608 |
|innodb_log_file_size |5242880 |
|innodb_log_files_in_group | 2 |
|innodb_log_group_home_dir |./ |
|innodb_mirrored_log_groups |1 |
| log | OFF |
| log_bin | ON |
|log_bin_trust_function_creators |OFF |
|log_error |/mydata/data/localhost.err |
| log_output | FILE |
|log_queries_not_using_indexes |OFF |
|log_slave_updates |OFF |
|log_slow_queries | OFF |
|log_warnings |1 |
|max_binlog_cache_size |18446744073709547520 |
|max_binlog_size |1073741824 |
|max_binlog_stmt_cache_size |18446744073709547520 |
|max_relay_log_size |0 |
| relay_log | |
|relay_log_index | |
|relay_log_info_file |relay-log.info |
|relay_log_purge |ON |
| relay_log_recovery | OFF |
|relay_log_space_limit |0 |
|slow_query_log |OFF |
|slow_query_log_file | /mydata/data/localhost-slow.log |
| sql_log_bin | ON |
| sql_log_off | OFF |
| sync_binlog | 0 |
|sync_relay_log |0 |
|sync_relay_log_info |0 |
+-----------------------------------------+---------------------------------+
41 rows in set(0.00 sec)
日志保存路径,默认路径为当前路径下的hostname.err
| log_error |/mydata/data/localhost.err |
将服务数据库服务的警告信息写入localhost.err里
| log_warnings | 1 |
通常errlog的配置参数一般是
log_error =/path/to/somefie
log_warnings ={1|0}
日志的相关功能是全局的,有些功能是静态定义的
[root@localhostdata]# pwd
/mydata/data
[root@localhostdata]# hostname
localhost
[root@localhostdata]# ll | grep err
-rw-r----- 1 mysqlroot 6220 Mar 31 14:32 localhost.err
-rw-r----- 1 mysqlroot 68129 Feb 26 09:30 test3.err
查看错误日志:
首先重启一下mysql服务进程,并观察错误日志:
[root@localhostdata]# tail -20 localhost.err
140331 14:32:02[Note] /usr/local/mysql/bin/mysqld: Shutdown complete
140331 14:32:02mysqld_safe mysqld from pid file /mydata/data/localhost.pid ended
140331 14:32:02mysqld_safe Starting mysqld daemon with databases from /mydata/data
140331 14:32:03[Note] Plugin 'FEDERATED' is disabled. #初始化存储引擎
140331 14:32:03InnoDB: The InnoDB memory heap is disabled #innodb禁用了堆功能
140331 14:32:03InnoDB: Mutexes and rw_locks use GCC atomic builtins #互斥量和行级锁是GCC编制的
140331 14:32:03InnoDB: Compressed tables use zlib 1.2.3
140331 14:32:03InnoDB: Using Linux native AIO
140331 14:32:03InnoDB: Initializing buffer pool, size = 128.0M #innodb存储引擎的缓冲池(buff poll)一般需要改的,而且需要改的特别大,一般8G内存分配给其5G都不足为过(专用于mysql场景)
因此可以观察此文件来观察缓冲池到底占用多少内存
140331 14:32:03InnoDB: Completed initialization of buffer pool
140331 14:32:03InnoDB: highest supported file format is Barracuda.
140331 14:32:03 InnoDB: Waiting for the background threads tostart
140331 14:32:04InnoDB: 5.5.33 started; log sequence number 2856278
140331 14:32:04[Note] Server hostname (bind-address): '0.0.0.0'; port: 3306 #服务已经运行并监听在本地0.0.0.0的 3306端口
140331 14:32:04[Note] - '0.0.0.0' resolves to'0.0.0.0'; #0.0.0.0反解失败
140331 14:32:04[Note] Server socket created on IP: '0.0.0.0'.
140331 14:32:04[Note] Event Scheduler: Loaded 0 events #时间调度器没有进行任何调度
140331 14:32:04[Note] /usr/local/mysql/bin/mysqld: ready for connections.
Version:'5.5.33-log' socket:'/tmp/mysql.sock' port: 3306 MySQL Community Server (GPL) #mysql已经启动并在/tmp/目录下生成mysql.sock文件
|
评论暂时关闭