前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >MySQL的日志操作开启命令

MySQL的日志操作开启命令

原创
作者头像
用户4988085
修改2021-09-18 17:42:15
9200
修改2021-09-18 17:42:15
举报
文章被收录于专栏:建站知识建站知识

1.首先确认你日志是否启用了

代码语言:javascript
复制
MySQL>show variables like 'log_bin';

如果启用了,即ON那日志文件就在MySQL的安装目录的data目录下

2.怎样知道当前的日志

代码语言:javascript
复制
MySQL> show master status;

3.看二进制日志文件用MySQLbinlog

代码语言:javascript
复制
shell>MySQLbinlog mail-bin.000001

或者

代码语言:javascript
复制
shell>MySQLbinlog mail-bin.000001 | tail

4.正确删除MySQL BIN-LOG 日志实操

在mysql中会生大量的如mysq-bin.000001这类日志文件了,这些都是二进制文件了,如果我们是普通的日志没有进行主从配置就可以直接使用reset master进行删除了这个方法很简单,

如果没有主从复制,可以通过reset master的方式,重置数据库日志,清除之前的日志文件:

代码语言:javascript
复制
mysql> reset master;

还有一各就是在my.cnf里配置。

代码语言:javascript
复制
expire_logs_days = 3

二进制日志自动删除的天数。这里设置了自动清除3天前的logs。

默认值为0,表示“没有自动删除”。

代码语言:javascript
复制
# 按文件:删除mysql-bin.000354之前的日志,不包含mysql-bin.000354
代码语言:javascript
复制
MYSQL>purge binary logs to 'mysql-bin.000354';
代码语言:javascript
复制
Query OK, 0 rows affected (0.16 sec)

# 按时间:删除2011-11-10 00:00:00 之前的日志

代码语言:javascript
复制
MYSQL>purge binary logs before '2011-11-10 00:00:00';

# 按时间:请理三天之前的日志

代码语言:javascript
复制
MYSQL> purge master logs before date_sub(now(), interval 3 day);

自动清理日志 :

# 修改my.cnf文件配置bin-log过期时间

代码语言:javascript
复制
expire-logs-days=7
max-binlog-size=268435456
如果你是主从mysql日志文件请参考下面方法

//删除日志之前,先检查主从服务器当前使用的日志文件,

//首先登录 要删除日志的服务器的 mysql 终端

代码语言:javascript
复制
#mysql -u root -pxxxxx
//检查复制主服务器状态
代码语言:javascript
复制
Mysql>show master status
+------------------+-----------+--------------+----------------------------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+-----------+--------------+----------------------------------------+
| mysql-bin.000097 | 541677824 | www | test,mysql,information_schema |
+------------------+-----------+--------------+----------------------------------------+
//复制主服务器当前正在使用的日志文件是:mysql-bin.000097

//检查复制从服务器状态

代码语言:javascript
复制
Mysql>show slave statusG

//复制从服务器当前正在使用的复制主服务器日志文件是:mysql-bin.000103

//当前正在使用的日志文件是000097,我需要做的是删除00095号之前的所有日志(预留出最近几天的日志)

代码语言:javascript
复制
Mysql>purge master logs to ‘mysql-bin.000095;
#ll /usr/local/mysql/var/

//从结果中发现,编号000097之前的所有日志都已经删除

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档