MySQL中怎么删除与恢复二进制日志

  介绍

这篇文章将为大家详细讲解有关MySQL中怎么删除与恢复二进制日,志文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

# vim/etc/my.cnf
(mysqld)
datadir=/var/lib/MySQL
套接字=/var/lib/MySQL/mysql.sock
#兼容MySQL的默认使用旧密码格式3。x
#客户使用mysqlclient10兼容性(包)。
# old_passwords=1
table_cache=300
default-character-set=utf8日志=/var/lib/mysqllog/mysql.
日志
log-bin=/var/lib/mysqllog/log-bin
log-slow-queries=/var/lib/mysqllog/slowquery.log
long_query_time=2

[mysql.server]
用户=mysql
basedir=/var/lib

[mysqld_safe]
日志错误=/var/log/mysqld.log
pid文件=/var/run/mysqld/mysqld.pid
其中黑体的内容为增加的,斜体的日志错误=/var/log/mysqld.log原有的
mysql有以下几种日志:,
错误日志:,-log-err ,
查询日志:,-log 
慢查询日志:-log-slow-queries 
更新日志:,,-log-update ,,这个版本已经不用了,更新的操作也记入查询日志中。设置上后错误日志中会有一条错误信息,不过不影响使用
二进制日志:-log-bin 


附录:

//显示所有本机上的二进制日志
mysql>显示主日志;

//删除所有本机上的二进制日志
mysql>重置主宰;

//删除所有创建时间在binary-log.xxx之前的二进制日志
mysql>清洗主日志& # 39;binary-log.xxx& # 39;;

//只保留最近6天的日志,之前的都删掉
找到/var/intra类型f -mtime + 6 - name“* .log"- rm - f {} \;

//用键盘左上角(也就是Esc下面)那个键包围起来,说明是命令.-1d是昨天,以此类推1 m是上个月等等
天=癥 - v/bin/日期1 d + % % m % d ';

//给文件改名
mv xxx。日志xxx - ${天}. log,

//这里还要加上数据库的用户名密码,作用是更新日志(包括二进制日志和查询日志等等)
mysqladmin flush-logs

打开MySQL的慢查询日志记录

,,MySQL慢查询日志对于跟踪有问题的查询非常有用,可以分析出当前程序里有很耗费资源的sql语句,那如何打开MySQL的慢查询日志记录呢?
其实打开MySQL的慢查询日志很简单,只需要在MySQL的配置文件里(windows系统是my.ini, linux系统)是my . cnf中所做的(mysqld)下面加上如下代码:

log-slow-queries=/var/lib/MySQL/slowquery.log
long_query_time=2
注:
log-slow-queries设置把日志写在那里,为空的时候,系统会给慢查询日志赋予主机名,并被附加slow.log。
/var/lib/MySQL/slowquery.log为日志存放的文件的位置,一般这个目录要有MySQL的运行帐号的可写权限,一般都将这个目录设置为   mysql的数据存放目录

long_query_time=2中2的表示查询超过两秒才记录。

如果设置了参数log-long-format,那么所有没有使用索引的查询也将被记录。在文或件my . cnf中所做my.ini中加入下面这一行可以记录这些查询

这是一个有用的日志。它对于性能的影响不大(假设所有查询都很快),并且强调了那些最需要注意的查询(丢失了索引或索引没有得到最佳应用)

#时间:070927,8:08:52

# User@Host:根(root) @ (192.168.0.20)

# Query_time: 372,Lock_time: 136,Rows_sent: 152,Rows_examined: 263630
选择id、名称从经理id (66、10135),
这是慢查询日志中的一条,用了372秒,锁了136秒,返回152行,一共查了263630行

,,如果日志内容很多,用眼睛一条一条去看会累死,mysql自带了分析的工具,使用方法如下:
命令行下,进入mysql/bin目录,输入mysqldumpslow -或-帮助可以看到这个工具的参数


mysql的log-bin的日志功能
,,安装mysql,运行一段时间后,在mysql目录下出现一堆类似mysql-bin.000 * * *,从mysql-bin.000001开始一直排列下来,而且占用了大量硬盘空间,高达几十个g对于这些超大空间占用量的文件应该怎么办呢?

那么mysql数据库文件夹中的mysql-bin。00001是什么文件?
mysql-bin。000001年,mysql - bin.000002等文件是数据库的操作日志,例如更新一个表,或者删除一些数据,即使该语句没有匹配的数据,这个命令也会存储到日志文件中,还包括每个语句执行的时间,也会记录进去。

这些形如mysql-bin.00001的文件主要是用来做什么的呢?
1:数据恢复
如果你的数据库出问题了,而你之前有过备份,那么可以看日志文件,找出是哪个命令导致你的数据库出问题了,想办法挽回损失。

2:主从服务器之间同步数据
主服务器上所有的操作都在记录日志中,从服务器可以根据该日志来进行,以确保两个同步。

MySQL中怎么删除与恢复二进制日志