【实验小结六】mysql日志的故事

打开二进制日志(二进制日志内容:更改数据库的操作)

在/etc/mysql/my.cnf中

将log_bin这一行的注释去掉就开启了后面的是保存的路径

下面的expire_logs_days是过多久,Mysql自动删除二进制日志

max_binlog_size为最大二进制日志大小

注意重启mysql后刚刚的修改才生效

shell>sudo service mysql stop

shell>sudo service mysql start

然后登入mysql

每次登陆后都会生成二进制日志

我的二进制日志具体为

mysql-bin.000001(这里的mysql为主机名字)

可以在MySQL里用:SHOW BINARY LOGS来查看

查看具体内容需要在shell里用:例如

mysqlbinlog /var/log/mysql/mysql-bin.0000002

来查看

删除所有日志文件(还会生成一个新的二进制日志文件):

mysql>RESET MASTER;

删除指定的日志文件:

mysql>PURGE MASTER LOGS TO ‘mysql-bin.0000002‘;

to是到的意思所以上面那句为删除mysql-bin.0000001

还可以根据时间来部分删除

:mysql>PURGE MASTER LOGS BEFORE ‘20150531‘;

从二进制日志中恢复数据:

shell>mysqlbinlog --stopdatetime="2015-05-31 10:18:15"/var/log/mysql/mysql-bin.000002|mysql -u root -p

其中时间为那个二进制日志里的时间

暂停二进制日志:

mysql>set sql_log_bin=OFF;

恢复二进制日志:

mysql>set sql_log_bin=ON;

【执行flush logs的影响:会多生成一个新的日志文件】

所以上面的指令要在打开了二进制日志时候才能用。

开启错误日志(后缀为.err)

同样在my.cnf里让log_error的注释取消

查看错误日志所在的路径

mysql>show variables like ‘log_error‘

删除错误日志:

shell>mysqladmin -u root -p flush-logs

或者:

mysql>flush logs

启动通用查询日志(通用查询日志:用户对数据库的每一步操作):

同理在[mysqld]

里加:log

删除/其实是重新创建:

mysqladmin -u root -p flush-logs

启动慢查询日志(慢查询日志内容:执行时间超过long_query_time的查询或者不使用索引的查询)

启动设置慢查询日志:与前面的同

在my.cnf里添加:log-slow-queries(后面不加指定路径即使用其默认的data路径)

重新生成慢查询日志文件

shell>mysqladmin -u root -p flush-logs

mysql>flush logs

【慢查询日志与性能优化相关】

时间: 2024-10-17 08:07:36

【实验小结六】mysql日志的故事的相关文章

{实验小结七}Mysql的一些优化措施

分析查询语句 1)explain [extended] select select_options 2)describe(可以简写为desc) select select_options 查看表的信息[show create table 表名] 什么时候索引没用 1)用like查询且%在开头 2)多列索引直接用第二个字段来查询,索引不起作用 例如:create index index_id_price on fruits(f_id,f_price); explain select * from

MySQL 日志初探

目录 MySQL 日志初探 零.概述 一.Error Log(错误日志) 二.General Query Log(通用查询日志) 三.Slow Query Log (慢查询日志) 四.Binary Log(BinLog) 五.总结 六.参考 MySQL 日志初探 零.概述 MySQL 的日志分为 Error Log(错误日志),General Query Log(通用查询日志).Slow Query Log(慢查询日志).Binary Log(BinLog),各种日志各有各的用处和配置方式,接下

Mariadb10 Galera 实验小结

Mariadb10 Galera 实验小结三台服务器作此实验,信息如下:IP 机器名称 操作系统版本 数据库版本192.168.88.11 node1 Centos7.5_64 mariadb10192.168.88.12 node2 Centos7.5_64 mariadb10192.168.88.13 node3 Centos7.5_64 mariadb10一.Mariadb10 Galera 初始化准备1.初始化环境(三台机器上都操作)A)安装相关的环境包:yum -y install v

MySQL日志系统

body { font-family: Helvetica, arial, sans-serif; font-size: 14px; line-height: 1.6; padding-top: 10px; padding-bottom: 10px; background-color: white; padding: 30px } body>*:first-child { margin-top: 0 !important } body>*:last-child { margin-bottom:

马哥学习笔记二十六——MySQL主从复制

配置MySQL复制基本步骤: 一.master 1.启用二进制日志 log-bin = master-bin log-bin-index = master-bin.index 2.选择一个惟一server-id server-id = {0-2^32} 3.创建具有复制权限的用户 REPLICATION SLAVE REPLICATION CLIENT 二.slave 1.启用中继日志 relay-log = relay-log relay-log-index = 2.选择一个惟一的server

mysql系列之9.mysql日志&存储引擎

mysqlbinlog 是什么? 数据目录下的如下文件: mysql-bin.xxxxxx 作用? 记录数据库内部增删改查对mysql数据库有更新的内容的记录 三种模式? statement level 模式: 缺点是不够细致 row level 模式: 日志会记录每一行数据被修改的形式 (一下子修改多行其实就一条语句, 但是它会记录成多行) 优点: 记录每一行的细节, 可以记录function/trigger/存储过程 mixed level 模式: 混合模式, 自动判断该使用statemen

MySQL日志简介

MySQL中的日志主要分为以下几种: 查询日志 慢查询日志 错误日志 二进制日志 中继日志 事务日志 说明: 支持本文实验使用的linux系统是CentOS7版本,使用的数据库是base源自带的MariaDB,数据库使用的存储引擎使用默认的InnoDB 1.查询日志 记录查询语句.日志存储位置 日志的存放位置有两个地方:一是存储在指定文件中,一是存储在指定的表中.考虑到I/O压力,一般二者不会同时记录 MariaDB [mysql]>  SHOW VARIABLES LIKE 'general%

(转)MySQL日志系统

原文:https://www.cnblogs.com/roverliang/p/6414457.html MySQL 日志系统 做过大型系统的都知道,日志的作用不用小觑,往往到了项目中后期,对项目进行优化升级都是依据日志做出升级优化的决策的.那么学习MySQL,日志部分当然不能错过.我们面试中实际应用的所谈到的优化都是要从日志中得出来的.系统的学习mysql的日志,有助于我们准确的定位问题,提高自己的工作水平.此外,后面的一系列日志会重点从DBA的运维方面进行着手,系统的去理解MySQL各方面的

MySQL日志

mysql日志=====默认为数据目录下 1.错误日志(记录错误信息) show variables like '%log%'; log_error = /database/mydata/server1.err   ======默认为数据目录2.访问日志(记录客户端执行的语句)====文本记录 general_log = on general_log_file = /database/mydata/server1.log 3.二进制日志(记录对数据库的操作)===只记录数据改变的命令==upda