6. mysql log

1.error log

错误日志, 记录mysql服务启动时出现的问题, 文本文件

[mysqld_safe]                    #注意是写在这里

log-error=/var/log/mysqld/mysql-error.log                       -- mysqld文件夹要存在且chown mysql

该日志无法关掉

2.access log

查询(访问)日志, 记录客户端执行的所有语句,
文本文件

对于访问频繁的系统,
对性能影响较大, 建议关闭

show
variables like ‘%general_log%’;

[mysqld]

general_log=on

general_log_file=/var/log/mysqld/mysql-access.log    
----连上后作一些操作, 然后查看关闭就     
#注释这2行

3.bin log

二进制日志, 记录所有的ddl、dml语句, 不记select, 还用于复制, 非文本文件

[mysqld]

log_bin=/var/log/mysqld/mysql-bin
-- 日志文件的前缀

服务重启1次,
日志文件就新增1个(如mysql-bin.000002)

flush
logs;也会新增一个日志文件

日志文件的大小超过了max_binlog_size(单位是Byte,
默认1GB), 也会新增一个日志文件

显示日志文件:

show
master logs;

show
master status;

show  variables like  "%log_bin%"

查看二进制日志:

mysqlbinlog
mysql-bin.000001

mysqlbinlog mysql-bin.000001 -d ds                               -- 只显示ds数据库的

--start-datetime=”2012-10-10 9:10:0”
--stop-datetime=”2012-10-10 9:30:59”    --
只显示这段时间之间的日志

--start-position="123"
--stop-position="456" -- at后的数字, 繁忙的在线系统, 同一时刻多人操作, 即同一时刻发生有多个dml,
这时可以用position来区分

如果只写开始, 则到日志最尾部,     
 如果只写结束, 则从日志最开头

-------------------------------------------------------------------------------------------------------------------------------

定期删日志文件是维护MySQL的一个重要工作内容

方法1:

reset master;

删除所有日志文件,
产生1个新日志文件, 重新从000001开始编号

方法2:

purge master logs to ‘mysql-bin.000006‘;

编号000006之前的所有日志文件被删除

方法3:

[mysqld]

expire_logs_days=3(天) -- 重启服务, 从产生到过了3天后该文件将会被自动删除;默认是0,不删除

其他一些选项

[mysqld]

binlog_do_db=db1

binlog_do_db=db2                 -- 没有显式指定的数据库将不会被记录

binlog_ignore_db=db1

binlog_ignore_db=db2        -- 没有显式指定的数据库将会被记录

set sql_log_bin = 0;                -- 禁止将自己的操作记入二进制日志

4.slow log

慢日志, 文本文件, 记录所有执行时间超过long_query_time秒的语句            
增删改查都会记

慢日志对于我们发现有性能问题的语句很有帮助,
建议打开并经常查看分析

[mysqld]

long_query_time=2(秒)

--
5.5

log_slow_queries=/var/log/mysqld/mysql-slow.log

--
5.6

slow_query_log=on

slow_query_log_file=/var/log/mysqld/mysql-slow.log

来自为知笔记(Wiz)

时间: 2024-10-18 22:35:53

6. mysql log的相关文章

【改变mysql 日志位置Bug】Could not use mysql.log for logging (error 13)

今天手贱,看到mysql 的日志在/var/log/mysql下面.总是觉得别扭,于是就想改变日志的位置, 本人开发环境 vagrant  + ubuntu12.04 ,在/etc/mysql/mysql中修改了general_log的位置,放在/data/logs/mysql下面 然后重启服务,service mysql restart 查看错误日志发现说 /usr/sbin/mysqld: File '/data/logs/mysql/mysql.log' not found (Errcod

MySQL log files   (1)

MySQL has several log files that can help you find out what activity is taking place. log type      information write to log file error log  Problems encoutered  starting, running or stopping mysqld General query  log      Established client connecti

mysql 日志log

my.ini log-error=D:/phpStudy/PHPTutorial/MySQL/log/error.loglog=D:/phpStudy/PHPTutorial/MySQL/log/mysql.loglong_query_time=2log-slow-queries=D:/phpStudy/PHPTutorial/MySQL/log/slowquery.log 原文地址:https://www.cnblogs.com/ashe666/p/9964040.html

mysql多实例配置

mysql多实例配置  就是在一台服务器上运行多个mysql实例,每个实例需要一个独立的端口,实例的配置可以按实际需求进行设置  1.配置mysql多实例  # vim /etc/my.cnf[mysqld_multi]mysqld = /usr/local/mysql/bin/mysqld_safemysqladmin = /usr/local/mysql/bin/mysqladminuser = mysqllog = /database/log/mysqld-muti.log join_bu

何时、怎样开启 MySql 日志?

假如你是一名 web 开发者.假设你想调试你的应用或提升其性能的话,那你须要去參考各种日志文件.日志是開始故障排除最好的选择.就著名的 MySql 数据库server而言,你须要參考下面日志文件: 错误日志:它包括了server执行时(当然也包括服务启动和停止时)所发生的错误信息 普通查询日志:这是一个记录 mysqld 在做什么(连接.断开,查询)的通用日志 慢查询日志:正如其名,它记录了 "慢" 的查询 SQL 语句 本文未涉及到二进制日志.二进制日志要求非常高的server硬件配

mysql 数据库定时备份 增量/全备份

实验楼的 MySQL 数据库需要设计一个自动备份方案,能够每周执行一次全备份,每天执行一次增量备份. 数据库名称为 shiyanlou,管理的用户名为 shiyanlou,密码为 shiyanlou.注意需要先手动启动 MySQL 服务. 目标 设计并实现备份方案,任务完成后满足以下要求: MySQL 服务处于运行状态 需要为服务器中的 shiyanlou 用户设定计划任务 计划任务中设定每周的周一凌晨3点执行一次全备份 计划任务中设定每天凌晨3点执行一次增量备份,周一不执行 请不要编写额外的脚

mysql主从同步读写分离配置

#mysql主库配置添加: #缓存用户表及索引数据的最主要缓存空间,一般建议50%~80%,但应该以mysql服务器实际情况来定,如果跑着其他 #的应用服务或者有MyISAM表,则需要先减去系统+应用+MyISAM引擎需要的内存,再得出innodb_buffer_pool_size的 #实际值,具体情况具体分析. innodb_buffer_pool_size = 4096M #打开bin-log日志,以供slave机器读取同步日志. log-bin=/mnt/mysql/log/mysql-b

mysql自动安装脚本

为适应自己工作习惯和需要,花一点时间写了一个mysql自动安装脚本,供大家参考学习. 注意: 1.需要先安装cmake 2.数据库版本需要在第二步安装mysql时修改 3.该脚本是以root用户安装并启动 脚本内容如下: ######################################################################## #mysql自动安装脚本,其中变量/mysql_v_dir/和/port/可根据实际需要修改    # #执行脚本命令:sh mys

mysql数据库备份

前一段时间因为误操作删除了一张表的几条数据,弄得很尴尬,正好这周有空就折腾了下数据备份的知识,现把mysql的数据备份相关实践和心得总结如下: 一.使用mysqldump命令备份数据库: 备份整个数据库(包括表结构和数据),用法如下 mysqldump -h10.38.14.143 -uroot -prootroot  weixin > weixin.sql 其中 weixin 是数据库名,可以一次备份多个数据库 (用空格隔开),默认保存在当前目录下 这个wexin.sql文件里面主要由四部分组