精华内容
下载资源
问答
  • MySQL查看bin-log日志

    千次阅读 2018-11-05 19:28:44
    MySQL查看bin-log日志 1.开启bin-log 如果需要查看mysql的bin-log,前提是系统必须设置开启了bin-log,否则是无法查看的。 查看bin-log是否开启 mysql> show variables like 'log%'; +---------...

    MySQL查看bin-log日志

    1.开启bin-log

    如果需要查看mysql的bin-log,前提是系统必须设置开启了bin-log,否则是无法查看的。

    • 查看bin-log是否开启
    mysql> show variables like 'log%';
    +----------------------------------------+------------------------------------------------------------------+
    | Variable_name                          | Value                                                            |
    +----------------------------------------+------------------------------------------------------------------+
    | log_bin                                | OFF                                                              |
    | log_bin_basename                       |                                                                  |
    | log_bin_index                          |                                                                  |
    | log_bin_trust_function_creators        | OFF                                                              |
    | log_bin_use_v1_row_events              | OFF                                                              |
    | log_builtin_as_identified_by_password  | OFF                                                              |
    | log_error                              | D:\Program Files\MySQL\MySQL Server 5.7\data\ICOS-20180710CX.err |
    | log_error_verbosity                    | 3                                                                |
    | log_output                             | FILE                                                             |
    | log_queries_not_using_indexes          | OFF                                                              |
    | log_slave_updates                      | OFF                                                              |
    | log_slow_admin_statements              | OFF                                                              |
    | log_slow_slave_statements              | OFF                                                              |
    | log_statements_unsafe_for_binlog       | ON                                                               |
    | log_syslog                             | ON                                                               |
    | log_syslog_tag                         |                                                                  |
    | log_throttle_queries_not_using_indexes | 0                                                                |
    | log_timestamps                         | UTC                                                              |
    | log_warnings                           | 2                                                                |
    +----------------------------------------+------------------------------------------------------------------+
    19 rows in set, 1 warning (0.00 sec)
    
    
    • 添加内容如下
    # Binary Logging.
    log-bin = mysql-bin
    

    修改之后重启mysql服务,再次查看,得到结果如下:

    mysql> show variables like 'log%';
    +----------------------------------------+--------------------------------------------------------------+
    | Variable_name                          | Value                                                        |
    +----------------------------------------+--------------------------------------------------------------+
    | log_bin                                | ON                                                           |
    | log_bin_basename                       | D:\Program Files\MySQL\MySQL Server 5.7\data\mysql-bin       |
    | log_bin_index                          | D:\Program Files\MySQL\MySQL Server 5.7\data\mysql-bin.index |
    | log_bin_trust_function_creators        | OFF                                                          |
    | log_bin_use_v1_row_events              | OFF                                                          |
    | log_builtin_as_identified_by_password  | OFF                                                          |
    | log_error                              | .\mysql-error.err                                            |
    | log_error_verbosity                    | 3                                                            |
    | log_output                             | FILE                                                         |
    | log_queries_not_using_indexes          | OFF                                                          |
    | log_slave_updates                      | OFF                                                          |
    | log_slow_admin_statements              | OFF                                                          |
    | log_slow_slave_statements              | OFF                                                          |
    | log_statements_unsafe_for_binlog       | ON                                                           |
    | log_syslog                             | ON                                                           |
    | log_syslog_tag                         |                                                              |
    | log_throttle_queries_not_using_indexes | 0                                                            |
    | log_timestamps                         | UTC                                                          |
    | log_warnings                           | 2                                                            |
    +----------------------------------------+--------------------------------------------------------------+
    19 rows in set, 1 warning (0.00 sec)
    

    这样就可以D:\Program Files\MySQL\MySQL Server 5.7\data\mysql-bin中查看自己的查询日志了。

    2.实战

    • 往表lawson中插入数据
    mysql> insert into lawson values(1,'lawson');
    Query OK, 1 row affected (0.11 sec)
    
    mysql> insert into lawson values(2,'ting');
    Query OK, 1 row affected (0.08 sec)
    
    
    mysql> select * from lawson;
    +------+--------+
    | id   | name   |
    +------+--------+
    |    1 | lawson |
    |    2 | ting   |
    +------+--------+
    2 rows in set (0.00 sec)
    
    mysql> drop table lawson;
    Query OK, 0 rows affected (0.38 sec)
    
    • 查看mysql的 bin-log 日志
      注意这个命令很重要。
    mysql> show binlog events in 'mysql-bin.000001';
    +------------------+-----+----------------+-----------+-------------+------------------------------------------------------------------+
    | Log_name         | Pos | Event_type     | Server_id | End_log_pos | Info                                                             |
    +------------------+-----+----------------+-----------+-------------+------------------------------------------------------------------+
    | mysql-bin.000001 |   4 | Format_desc    |         1 |         123 | Server ver: 5.7.22-log, Binlog ver: 4                            |
    | mysql-bin.000001 | 123 | Previous_gtids |         1 |         154 |                                                                  |
    | mysql-bin.000001 | 154 | Anonymous_Gtid |         1 |         219 | SET @@SESSION.GTID_NEXT= 'ANONYMOUS'                             |
    | mysql-bin.000001 | 219 | Query          |         1 |         298 | BEGIN                                                            |
    | mysql-bin.000001 | 298 | Table_map      |         1 |         357 | table_id: 108 (insidemysql.lawson)                               |
    | mysql-bin.000001 | 357 | Write_rows     |         1 |         404 | table_id: 108 flags: STMT_END_F                                  |
    | mysql-bin.000001 | 404 | Xid            |         1 |         435 | COMMIT /* xid=11 */                                              |
    | mysql-bin.000001 | 435 | Anonymous_Gtid |         1 |         500 | SET @@SESSION.GTID_NEXT= 'ANONYMOUS'                             |
    | mysql-bin.000001 | 500 | Query          |         1 |         579 | BEGIN                                                            |
    | mysql-bin.000001 | 579 | Table_map      |         1 |         638 | table_id: 108 (insidemysql.lawson)                               |
    | mysql-bin.000001 | 638 | Write_rows     |         1 |         683 | table_id: 108 flags: STMT_END_F                                  |
    | mysql-bin.000001 | 683 | Xid            |         1 |         714 | COMMIT /* xid=12 */                                              |
    | mysql-bin.000001 | 714 | Anonymous_Gtid |         1 |         779 | SET @@SESSION.GTID_NEXT= 'ANONYMOUS'                             |
    | mysql-bin.000001 | 779 | Query          |         1 |         912 | use `insidemysql`; DROP TABLE `lawson` /* generated by server */ |
    +------------------+-----+----------------+-----------+-------------+------------------------------------------------------------------+
    14 rows in set (0.00 sec)
    

    通过bin-log可以看到我们执行了什么语句【但是我有一处不明白,为什么插入数据的操作,没有记录到bin-log中呢?】

    3.SQL详解

    这里详解一下

    SHOW BINLOG EVENTS
    [IN 'log_name']
    [FROM pos]
    [LIMIT [offset,] row_count]
    

    Shows the events in the binary log. If you do not specify ‘log_name’, the first binary log is displayed.

    各个参数都很好理解,我这里给个例子,估计大家就很明白了。

    mysql> show binlog events in 'mysql-bin.000001' from 779 limit 1;
    +------------------+-----+------------+-----------+-------------+------------------------------------------------------------------+
    | Log_name         | Pos | Event_type | Server_id | End_log_pos | Info                                                             |
    +------------------+-----+------------+-----------+-------------+------------------------------------------------------------------+
    | mysql-bin.000001 | 779 | Query      |         1 |         912 | use `insidemysql`; DROP TABLE `lawson` /* generated by server */ |
    +------------------+-----+------------+-----------+-------------+------------------------------------------------------------------+
    1 row in set (0.00 sec)
    

    各个参数意思如下:

    • Log_name:The name of the file that is being listed.
    • Pos:The position at which the event occurs.
    • Event_type:An identifier that describes the event type.
    • Server_id:The server ID of the server on which the event originated.
    • End_log_pos:The position at which the next event begins, which is equal to Pos plus the size of the event.
    • Info:More detailed information about the event type. The format of this information depends on the event type.

    4. 查看完整binlog

    4.1 问题

    查看 binlog 的日志,但是因为 binlog 日志是二进制形式的,而不能直接查看,所以需要使用mysql 自带的命令解析 binlog

    4.2 原因

    binlog 是二进制的,无法直接查看。

    4.3 解决办法

    使用 mysqlbinlog 命令。
    执行命令前:

    D:\Program Files\MySQL\MySQL Server 5.7\data>dir
     驱动器 D 中的卷是 Software
     卷的序列号是 C2E2-A20C
    
     D:\Program Files\MySQL\MySQL Server 5.7\data 的目录
    
    2018/12/05  17:01    <DIR>          .
    2018/12/05  17:01    <DIR>          ..
    2018/11/19  18:23             9,035 002bin.sql
    2018/11/19  11:35    <DIR>          appmetadatadb
    2018/09/24  20:37                56 auto.cnf
    2018/10/29  17:33    <DIR>          bas
    2018/11/05  14:20    <DIR>          cam
    2018/12/05  22:02    <DIR>          datamart
    2018/12/05  17:17       660,065,474 dim_shop.sql
    2018/12/05  17:07             3,508 dim_sub_channel_type.sql
    2018/10/04  15:01    <DIR>          employees
    2018/11/05  13:42    <DIR>          ems
    2018/11/05  11:34    <DIR>          extractdb
    2018/12/04  10:09           114,688 first.ibd
    2018/12/05  22:02       146,800,640 ibdata1
    2018/11/28  11:22        12,582,912 ibtmp1
    2018/11/28  11:22               393 ib_buffer_pool
    2018/12/05  22:02        50,331,648 ib_logfile0
    2018/12/05  22:02        50,331,648 ib_logfile1
    2018/11/05  18:57           125,997 ICOS-20180710CX.err
    2018/11/28  11:22                 5 ICOS-20180710CX.pid
    2018/12/04  10:14    <DIR>          insidemysql
    2018/09/24  20:37    <DIR>          mysql
    2018/11/11  17:35            11,207 mysql-bin.000001
    2018/11/11  18:11               177 mysql-bin.000002
    2018/11/18  22:56             7,525 mysql-bin.000003
    2018/11/19  19:25             7,287 mysql-bin.000004
    2018/11/19  19:57             1,210 mysql-bin.000005
    2018/11/28  11:09             2,165 mysql-bin.000006
    2018/11/28  11:13               177 mysql-bin.000007
    2018/11/28  11:18               177 mysql-bin.000008
    2018/11/28  11:22               177 mysql-bin.000009
    2018/12/05  22:02        26,461,143 mysql-bin.000010
    2018/11/28  11:22               190 mysql-bin.index
    2018/12/05  17:25            86,028 mysql-error.err
    2018/09/24  20:37    <DIR>          performance_schema
    2018/11/23  11:24    <DIR>          rollupdb
    2018/09/26  11:12    <DIR>          stagedb
    2018/09/24  20:37    <DIR>          sys
                  24 个文件    946,943,467 字节
                  15 个目录 67,366,494,208 可用字节
    

    执行如下命令:
    mysqlbinlog mysql-bin.000001 > mysql-bin.000001.txt
    执行命令后,再次查看文件路径:

    D:\Program Files\MySQL\MySQL Server 5.7\data>dir
     驱动器 D 中的卷是 Software
     卷的序列号是 C2E2-A20C
    
     D:\Program Files\MySQL\MySQL Server 5.7\data 的目录
    
    2018/12/05  23:07    <DIR>          .
    2018/12/05  23:07    <DIR>          ..
    2018/11/19  18:23             9,035 002bin.sql
    2018/11/19  11:35    <DIR>          appmetadatadb
    2018/09/24  20:37                56 auto.cnf
    2018/10/29  17:33    <DIR>          bas
    2018/11/05  14:20    <DIR>          cam
    2018/12/05  22:02    <DIR>          datamart
    2018/12/05  17:17       660,065,474 dim_shop.sql
    2018/12/05  17:07             3,508 dim_sub_channel_type.sql
    2018/10/04  15:01    <DIR>          employees
    2018/11/05  13:42    <DIR>          ems
    2018/11/05  11:34    <DIR>          extractdb
    2018/12/04  10:09           114,688 first.ibd
    2018/12/05  22:02       146,800,640 ibdata1
    2018/11/28  11:22        12,582,912 ibtmp1
    2018/11/28  11:22               393 ib_buffer_pool
    2018/12/05  22:02        50,331,648 ib_logfile0
    2018/12/05  22:02        50,331,648 ib_logfile1
    2018/11/05  18:57           125,997 ICOS-20180710CX.err
    2018/11/28  11:22                 5 ICOS-20180710CX.pid
    2018/12/04  10:14    <DIR>          insidemysql
    2018/09/24  20:37    <DIR>          mysql
    2018/11/11  17:35            11,207 mysql-bin.000001
    2018/12/05  23:07            18,989 mysql-bin.000001.txt
    2018/11/11  18:11               177 mysql-bin.000002
    2018/11/18  22:56             7,525 mysql-bin.000003
    2018/11/19  19:25             7,287 mysql-bin.000004
    2018/11/19  19:57             1,210 mysql-bin.000005
    2018/11/28  11:09             2,165 mysql-bin.000006
    2018/11/28  11:13               177 mysql-bin.000007
    2018/11/28  11:18               177 mysql-bin.000008
    2018/11/28  11:22               177 mysql-bin.000009
    2018/12/05  22:02        26,461,143 mysql-bin.000010
    2018/11/28  11:22               190 mysql-bin.index
    2018/12/05  17:25            86,028 mysql-error.err
    2018/09/24  20:37    <DIR>          performance_schema
    2018/11/23  11:24    <DIR>          rollupdb
    2018/09/26  11:12    <DIR>          stagedb
    2018/09/24  20:37    <DIR>          sys
                  25 个文件    946,962,456 字节
                  15 个目录 67,366,473,728 可用字节
    

    5. 参考文章

    • mysql-refman-5.7
    展开全文
  • 清理bin-log日志(mysql-bin日志清理)

    千次阅读 2014-10-27 11:24:16
    清理bin-log日志(mysql-bin日志清理)

    清理bin-log日志(mysql-bin日志清理),主从复制中的机器不要使用此方法。

    1.查看档案
    mysql> show binary logs;
    +----------------+-----------+
    | Log_name | File_size |
    +----------------+-----------+
    | ablelee.000001 | 150462942 |
    | ablelee.000002 | 125 |
    | ablelee.000003 | 106 |
    +----------------+-----------+

    2.删除bin-log(删除ablelee.000003之前的而没有包含ablelee.000003)
    mysql> purge binary logs to 'ablelee.000003';
    Query OK, 0 rows affected (0.16 sec)


    3. 查询结果(现在只有一条记录了.)
    mysql> show binlog events\G
    *************************** 1. row ***************************
    Log_name: ablelee.000003
    Pos: 4
    Event_type: Format_desc
    Server_id: 1
    End_log_pos: 106
    Info: Server ver: 5.1.26-rc-log, Binlog ver: 4
    1 row in set (0.01 sec)
    (ablelee.000001和ablelee.000002已被删除)
    mysql> show binary logs;
    +----------------+-----------+
    | Log_name | File_size |
    +----------------+-----------+
    | ablelee.000003 | 106 |
    +----------------+-----------+
    1 row in set (0.00 sec)

    展开全文
  • 常用日志 log-slow-queries=mysql-slow.log 慢查询日志 log-error=mysql.err 错误日志 log=mysql.log 一般...bin-log日志的作业,修复数据(数据库die掉啦,用bin-log里面恢复) --打开查看日志:mysql/bin/mys
    <span style="font-size:18px;">常用日志 
    	log-slow-queries=mysql-slow.log  慢查询日志
    	log-error=mysql.err    错误日志
    	log=mysql.log          一般日志
    	log-bin=mysql-bin      bin日志
    
    bin-log日志的作业,修复数据(数据库die掉啦,用bin-log里面恢复)
    		--打开查看日志:mysql/bin/mysqlbinlog --no-defaults mysql-bin.000002 |more
    	修复方法:mysqlbinlog --no-defaults mysql-bin.00001 :mysql/bin/mysql -uroot -p1234 test  (找到要修复的bin-log日志)</span>

    展开全文
  • mysql bin-log日志处理详解

    千次阅读 2016-09-26 10:37:30
    mysql中如果我们开启bin-log日志全在mysql目录发现大量的mysql-bin.000001,mysql-bin.000002等这些文件,如果多了会发现占很大的空间。 关闭bin-log日志 当开启bin-log日志时,会生成很多mysql-bin.0000*类似...
    mysql中如果我们开启bin-log日志全在mysql目录发现大量的mysql-bin.000001,mysql-bin.000002等这些文件,如果多了会发现占很大的空间。

    关闭bin-log日志

    当开启bin-log日志时,会生成很多mysql-bin.0000*类似的文件,而且可能会占用很大的硬盘空间。在不需要做master,slave的配置时,完全可以关闭日志功能。

    关闭操作很简单,找到配置文件my.cnf,对于linux,一般默认在/etc目录下,打开此文件,使用井号(#)注释掉如下两个配置项目即可。


    log-bin=mysql-bin
    binlog_format=mixed


    vi /etc/my.cnf

    log-bin=mysql-bin

    注释后重启mysql即生效

    可能在重启时候会收到一个错误,“ERROR 1186 (HY000): Binlog closed, cannot RESET MASTER”,解决办法是先登入到mysql命令行中执行 reset master 即可。reset master的用途就是删除先前所有的bin-log日志文件。所以在master、slave配置环境中慎用此命令


    删除bin-log日志

    查找当前有哪些二进制日志文件:

    mysql> show binary logs;

    +------------------+-----------+
    | Log_name         | File_size |
    +------------------+-----------+
    mysql-bin.000001 |   1357315 | 
    mysql-bin.000002 |       117 | 
    mysql-bin.000003 |    404002 | 
    mysql-bin.000004 |   2050722 | 
    mysql-bin.000005 |    139103 | 
    mysql-bin.000006 |     46702 | 
    mysql-bin.000007 |       117 | 
    mysql-bin.000008 |        98 | 
    mysql-bin.000009 |       117 | 


    删除bin-log(删除mysql-bin.000005之前的所有二进制日志文件,这里不包括mysql-bin.000005这个文件)

    mysql> purge binary logs to 'mysql-bin.000005';


    mysql bin-log相关参数:expire_logs_days

    expire_logs_days是二进制日志自动删除过期的天数。默认值是0,表示没有自动删除。

    例如:

    expire_logs_days = 15 表示日志保留15天,超过15天则设置为过期(自动删除)


    关于过期日志自动删除问题:

    1.重启

    2.binlog文件大小达到参数max_binlog_size限制

    3.手动执行命令

    以上会触发log flush,每次进行log flush时会自动删除过期日志。



    与bin-log相关的几个MySQL命令:

    flush logs; 会多一个最新的bin-log日志

    show master status; 查看最后一个bin-log日志的相关信息

    reset master; 清空所有的bin-log日志,(没有主从复制可以用这命令重置数据库日志,有的不要用)

    如果存在复制关系,应当使用purge的方式来清理bin-log日志,语法如下:

    purge {master | binary} logs to "log_name"

    purge {master | binary} logs before "date"

    例子:

    purge master logs to "mysql-bin.0000080";   

    purge master logs before "2016-04-11 00:00:00";     ##清理该日期之前的数据

    purge master logs before date_sub(now(),interval 3 day);  ##清楚3天前的



    展开全文
  • mysql的bin-log日志

    2013-11-27 21:51:30
    我们知道mysql的日志功能,有一般日志,错误日志,慢查询日志,和bin-log日志 它们的配置文件在/etc/my.cnf中,而日志文件则是在mysql/var/文件夹下面 下面我们重点研究的是mysql的bin日志 mysql 的bin-log日志它...
  • mysql日志bin-log日志开启,查看

    千次阅读 2018-07-30 21:40:46
    linux中开启bin-log日志: vi /etc/my.cnf//mysql的配置文件 log-bin=mysql-bin//默认是开启的 ls /usr/local/mysql/data/ //记录了数据库的变化操作文件名以:mysql-bin....的文件 数据中查看日志是否开启: ...
  • mysql关闭与删除bin-log日志详解

    千次阅读 2016-04-29 19:57:14
    mysql中如果我们开启bin-log日志全在mysql目录发现大量的mysql-bin.000001,mysql-bin.000002等这些文章,如果多了会发现占很大的空间,下面我来介绍mysql-bin日志关闭与删除方法。 关闭bin-log日志 当开启bin-...
  • 清除MySQL历史bin-log日志文件

    千次阅读 2013-11-13 11:18:09
    MySQL的bin-log日志文件会占据很大磁盘空间,需要定期清理MySQL历史bin-log日志文件 清理bin-log,使用PURGE MASTER LOGS语句   PURGEMASTERLOGS语法 PURGE{MASTER|BINARY}LOGSTO'log_name' PURGE{MASTER|...
  • 1. bin-log所在目录 mysql5.6安装完成后,其数据文件和log都保存在C:\Documentsand Settings\All Users\Application Data\MySQL\MySQL ...2. 确认bin-log日志是否开启 SHOW VARIABLES LIKE 'log_bin' 3. 开启bin-l
  • msyql从bin-log日志恢复数据

    千次阅读 2016-02-25 21:10:25
    mysql备份 备份test数据库的数据:mysqldump -uroot -p123456 test -l -F > /tmp/test.sql # -F 即flush logs,可以重新生成新的日志...查看bin-log日志:mysql>show master status; mysql的备份的恢复:mysql -uroot -
  • mysql删除bin-log日志

    2017-03-28 15:59:43
    1、登录mysql mysql -uroot -p 2、查看mysql日志 ...3.删除bin-log(删除ablelee.000003之前的而没有包含ablelee.000003) mysql> purge binary logs to 'ablelee.000003';  show binary logs; 这样日志就删除成功了
  • 修改MySQL的bin-log日志过期时间要在主库上来做。如果mysql只有一个单节点,同样适用 查看当前过期时间 mysql> show variables like '%logs_days%'; +------------------+-------+ | Variable_name | Value |...
  • mysql bin-log日志与mysqldump备份与恢复

    千次阅读 2016-05-09 22:23:18
    简介:mysql的bin-log日志是一种二进制的日志(默认存在于mysql/data下) 1. 用于恢复数据 2.有三种类型的日志 2.1.log-slow-queries日志是慢查询日志 [记录用户在查询的时候超过了时间的查询日志就会记录] ...
  • mysql通过bin-log日志恢复

    千次阅读 2016-04-01 14:47:28
    我们同事在操作数据库的时候不小心删除了一个表里面的内容,这些个内容全是储存的一些用户信息,而且我所在公司也一直没有对数据库进行备份,所以...mysql的bin-log是一个实时同步日志操作的文件,就是说当你把某个数据
  • mysql中bin-log日志操作常用命令

    千次阅读 2015-09-14 10:02:06
    查看日志是否开启 1).可以通过Mysql配置文件my.cnf来确认(Mysql默认开启二进制日志记录): # Replication Master Server (default) ...log-bin=mysql-bin 刷新日志 flush logs; 查看当前日志位置 s
  • 删除MYSQl BIN-LOG 日志

    千次阅读 2013-01-17 13:22:57
    1.查找当前有哪些二进制日志文件: mysql> show binary logs; +------------------+-----------+ | Log_name | File_size | +------------------+-----------+ | mysql-bin.000001 | 1357315 | | mysql-bin...
  • mysql 关闭 bin-log 日志

    千次阅读 2014-05-30 15:20:44
    由于主机是阿里云的 低配,所以硬盘很少不够用,而且 mysql也没有作主从,平时对数据回复也几乎不用,自己可以mysqldump备份数据,所以打算把mysql的bin-log日志关闭. 关闭的方法很简单 1.登录mysql, 打入命令...
  • 然后刷新一下bin-log日志,再查看下最后一个bin-log日志,此时已经变成了000002这个版本了,以后的增删改操作就记录在这个最新的bin-log日志里 我们可以看一下bin-log日志存放的目录,这里就多出了新...
  • 删除MYSQL BIN-LOG 日志

    千次阅读 2008-11-18 09:41:00
    想要恢愎数据库以前的资料,执行:show binlog events;由于数据量很多,查看起来很麻烦,光打开个文件就要闪半天,...登录系统,/usr/bin/mysql使用mysql查看日志mysql> show binary logs;+----------------+-----------+
  • /var/log/mysql/ mysql 的bin-log日志和错误日志目录。 /usr/bin/mysql,、usr/bin/mysqlbinlog mysql的各个命令的目录。 四,Lamp 各个组件的重启命令 sudo /etc/init.d/mysql restart MySQL重启 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 315,898
精华内容 126,359
关键字:

bin-log日志