1、维护,主要是日志记录在维护中的处理,日志记录文件通常保存在与数据文件相同的目录之中,比如:Unix系统中的/usr/local/mysql/var或是/usr/local/mysql/data,在Windows中则是c:\mysql\data目录,日志记录分为以下几类:
一、错误日志:保存了服务器上发生的每个错误的记录;如果需要激活错误日志,添加--log-error选项到服务器启动命令行或选项文件中,比如:
[root@host175 ~]# /etc/rc.d/init.d/mysqld start --log-error
Starting MySQL [ OK ]
Starting MySQL [ OK ]
这个日志的文件名一般是以.err为结尾的。比如我机器上的host175.err,如下蓝色字体标记的:
[root@host175 ~]# ls /usr/local/mysql/var/ 内容来自Sqlclub.cn
WorkDB ibdata1 mysql-bin.000008 mysql-bin.000017
greedland mysql mysql-bin.000009 mysql-bin.000018
host.test.com.err mysql-bin.000001 mysql-bin.000010 mysql-bin.000019
host.test.com.pid mysql-bin.000002 mysql-bin.000011 mysql-bin.000020
host175.err mysql-bin.000003 mysql-bin.000012 mysql-bin.000021
host175.test.com.err mysql-bin.000004 mysql-bin.000013 mysql-bin.000022
host175.test.com.pid mysql-bin.000005 mysql-bin.000014 mysql-bin.000023
ib_logfile0 mysql-bin.000006 mysql-bin.000015 mysql-bin.index
ib_logfile1 mysql-bin.000007 mysql-bin.000016 test
WorkDB ibdata1 mysql-bin.000008 mysql-bin.000017
greedland mysql mysql-bin.000009 mysql-bin.000018
host.test.com.err mysql-bin.000001 mysql-bin.000010 mysql-bin.000019
host.test.com.pid mysql-bin.000002 mysql-bin.000011 mysql-bin.000020
host175.err mysql-bin.000003 mysql-bin.000012 mysql-bin.000021
host175.test.com.err mysql-bin.000004 mysql-bin.000013 mysql-bin.000022
host175.test.com.pid mysql-bin.000005 mysql-bin.000014 mysql-bin.000023
ib_logfile0 mysql-bin.000006 mysql-bin.000015 mysql-bin.index
copyright Sqlclub
ib_logfile1 mysql-bin.000007 mysql-bin.000016 test
具体内容如下,这是一部分:
[root@host175 ~]# more /usr/local/mysql/var/host175.err
081211 17:03:35 InnoDB: Started; log sequence number 0 43665
081211 17:03:35 [Note] /usr/local/mysql/libexec/mysqld: ready for connections.
Version: '5.0.40-log' socket: '/tmp/mysql.sock' port: 3306 Source distribution
好像也记录了一些启动信息,当然我这里没有错误消息,而是一些指示性消息。
081211 17:03:35 InnoDB: Started; log sequence number 0 43665
081211 17:03:35 [Note] /usr/local/mysql/libexec/mysqld: ready for connections.
Version: '5.0.40-log' socket: '/tmp/mysql.sock' port: 3306 Source distribution
好像也记录了一些启动信息,当然我这里没有错误消息,而是一些指示性消息。
二、查询日志:这是另外一个有用的日志,因为这里保存了客户机发给服务器的每个查询的踪迹,还可以显示客户机连接服务器以及这些客户机所作操作的细节内容。若是希望监控以排错为目的的活动,就应该激活查询日志选项--log,也是加在服务器启动命令行或选项文件中,如下:
[root@host175 ~]# /etc/rc.d/init.d/mysqld start --log 本文来自Sqlclub
Starting MySQL [ OK ]
Starting MySQL [ OK ]
这个日志的文件名是主机名加.log扩展名的格式,比如我机器上的host175.log,下面蓝色字体标记的文件名:
[root@host175 ~]# ls /usr/local/mysql/var/
WorkDB host175.err ib_logfile0 mysql-bin.000001
WorkDB host175.err ib_logfile0 mysql-bin.000001
mysql-bin.000005 mysql-bin.000009 mysql-bin.000013 mysql-bin.000017
mysql-bin.000021 mysql-bin.index greedland host175.log ib_logfile1 mysql-bin.000002 mysql-bin.000006 mysql-bin.000010
mysql-bin.000014 mysql-bin.000018 mysql-bin.000022 test Sqlclub.cn
host.test.com.err host175.test.com.err ibdata1 mysql-bin.000003
host.test.com.err host175.test.com.err ibdata1 mysql-bin.000003
mysql-bin.000007 mysql-bin.000011 mysql-bin.000015 mysql-bin.000019
mysql-bin.000023 host.test.com.pid host175.test.com.pid mysql
查询日志部分内容示例如下:
[root@host175 ~]# more /usr/local/mysql/var/host175.log
/usr/local/mysql/libexec/mysqld, Version: 5.0.40-log (Source distribution). started with:
Tcp port: 3306 Unix socket: /tmp/mysql.sock
Time Id Command Argument
081211 17:22:52 1 Connect Access denied for user 'fuhao'@'localhost' (using password: NO)
081211 17:23:12 2 Connect Access denied for user 'root'@'localhost' (using password: YES)
081211 17:23:19 3 Connect root@localhost on WorkDB
3 Query select @@version_comment limit 1
081211 17:23:24 3 Query show tables
081211 17:23:31 3 Query select * from users
这里面对每一个操作记录的很详细。
/usr/local/mysql/libexec/mysqld, Version: 5.0.40-log (Source distribution). started with:
Tcp port: 3306 Unix socket: /tmp/mysql.sock
Time Id Command Argument
081211 17:22:52 1 Connect Access denied for user 'fuhao'@'localhost' (using password: NO)
081211 17:23:12 2 Connect Access denied for user 'root'@'localhost' (using password: YES)
copyright Sqlclub
081211 17:23:19 3 Connect root@localhost on WorkDB
3 Query select @@version_comment limit 1
081211 17:23:24 3 Query show tables
081211 17:23:31 3 Query select * from users
这里面对每一个操作记录的很详细。
三、慢查询日志:这文件中记录了超过预先设定时间量(根据long_query_time变量确定)的所有查询,任何超过这个值的查询都将列在这个日志文件中。若是需要查找优化性能的办法,可以查查这里的问题。
我们可以如下这样查看long_query_time变量的值:
mysql> show variables like 'long_query_time'; Sqlclub
+-----------------+-------+
| Variable_name | Value |
+-----------------+-------+
| long_query_time | 10 |
+-----------------+-------+
1 row in set (0.00 sec)
我这里的缓存查询时间限制设置是10秒,也就是说查询超过10秒的都会在这个慢查询日志中记录下来;
+-----------------+-------+
| Variable_name | Value |
+-----------------+-------+
| long_query_time | 10 |
+-----------------+-------+
1 row in set (0.00 sec)
我这里的缓存查询时间限制设置是10秒,也就是说查询超过10秒的都会在这个慢查询日志中记录下来;
慢查询日志使用--log-slow-queries选项来激活,如下所示:
[root@host175 ~]# /usr/local/mysql/share/mysql/mysql.server start --log-slow-queries
Starting MySQL [ OK ]
Starting MySQL [ OK ]
该日志的默认文件名是主机名后带-slow的后缀以及.log扩展名,比如下面蓝色字体所标记的:
[root@host175 ~]# ls /usr/local/mysql/var/ 本文来自Sqlclub
WorkDB host175.err ib_logfile1 mysql-bin.000003
WorkDB host175.err ib_logfile1 mysql-bin.000003
mysql-bin.000008 mysql-bin.000013 mysql-bin.000018 mysql-bin.000023
greedland host175.log ibdata1 mysql-bin.000004
greedland host175.log ibdata1 mysql-bin.000004
mysql-bin.000009 mysql-bin.000014 mysql-bin.000019 mysql-bin.000024
host.test.com.err host175.test.com.err mysql mysql-bin.000005
host.test.com.err host175.test.com.err mysql mysql-bin.000005
mysql-bin.000010 mysql-bin.000015 mysql-bin.000020 mysql-bin.000025
host.test.com.pid host175.test.com.pid mysql-bin.000001 mysql-bin.000006
host.test.com.pid host175.test.com.pid mysql-bin.000001 mysql-bin.000006
mysql-bin.000011 mysql-bin.000016 mysql-bin.000021 mysql-bin.index Sqlclub学习社区
host175-slow.log ib_logfile0
host175-slow.log ib_logfile0
具体的文件内容格式如下:
[root@host175 ~]# more /usr/local/mysql/var/host175-slow.log
/usr/local/mysql/libexec/mysqld, Version: 5.0.40-log (Source distribution). started with:
Tcp port: 3306 Unix socket: /tmp/mysql.sock
Time Id Command Argument
由于我这里不可能有超过10秒的查询所以下面就没数据了。
/usr/local/mysql/libexec/mysqld, Version: 5.0.40-log (Source distribution). started with:
Tcp port: 3306 Unix socket: /tmp/mysql.sock
Time Id Command Argument
由于我这里不可能有超过10秒的查询所以下面就没数据了。
顶一下
(0)
0%
踩一下
(0)
0%
收藏到网摘:
------分隔线----------------------------
- 上一篇:mysql4.1的编码
- 下一篇:MySQL数据库的备份和恢复
- 相关文章
-
- 最新评论 查看所有评论
-
- 发表评论 查看所有评论
-
百度中搜索:
Google中搜索: