mysql清除log-bin日志的方法

下面是关于如何清除mysql的log-bin日志的详细攻略。

1. 查看当前日志文件

首先,我们需要查看当前正在使用的日志文件,可以使用MYSQL自带的SHOW MASTER STATUS命令来获取。

SHOW MASTER STATUS;

该命令会返回当前正在使用的日志文件的名称和当前文件的位置。注意,这个命令需要在mysql中运行。

2. 清空旧日志

我们可以手动清空旧的日志或者在mysql配置文件中修改参数,让mysql自动清空旧日志。

手动清空

手动清空旧日志的方法是先将binlog写入到硬盘,然后从硬盘上删除。

# 将binlog写入到硬盘
FLUSH LOGS;

# 删除旧日志
PURGE BINARY LOGS TO 'mysql-bin.00001';

# 重新查看剩余的日志
SHOW BINARY LOGS;

上例中,我们使用FLUSH LOGS命令将日志写入到硬盘,然后使用PURGE BINARY LOGS命令删除旧日志。最后使用SHOW BINARY LOGS查看剩余的日志。

自动清空

我们可以在mysql的配置文件中添加下面的条目,让mysql自动清空旧日志。

expire_logs_days = 10

上面的配置表示,mysql会自动清空10天以前的日志。

示例说明

下面是两个关于如何清空mysql的log-bin日志的示例。

示例1

在mysql中执行以下语句,可以查看当前正在使用的日志文件的名称和位置。

SHOW MASTER STATUS;

假设结果返回如下:

+------------------+----------+--------------+------------------+
| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000007 |      107 |              |                  |
+------------------+----------+--------------+------------------+

这表示当前正在使用的日志文件是“mysql-bin.000007”,该文件的位置是107。

执行以下命令,可以手动删除旧的日志文件。

FLUSH LOGS;
PURGE BINARY LOGS TO 'mysql-bin.000005';
SHOW BINARY LOGS;

这些命令的含义如下:

  • FLUSH LOGS命令将当前的日志写入硬盘中;
  • PURGE BINARY LOGS TO 'mysql-bin.000005' 将删除所有比“mysql-bin.000005”早的日志;
  • SHOW BINARY LOGS命令将列出所有尚未删除的日志。

示例2

假设我们想让mysql自动清除7天以前的日志文件。在mysql的配置文件中添加以下条目:

expire_logs_days = 7

这将让mysql每天自动清除7天以前的日志文件。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:mysql清除log-bin日志的方法 - Python技术站

(1)
上一篇 2023年5月22日
下一篇 2023年5月22日

相关文章

  • 2、Redis常用数据类型

    1.Redis-cli使用和认证登录 # 客户端工具redis-cli登录 redis-cli #默认127.0.0.1 6379 redis-cli -h ip redis-cli -h ip -p port redis-cli -h ip -p port -a password redis的认证 >auth redispwd #登录redis后做认…

    Redis 2023年4月10日
    00
  • Firebase和Cassandra的区别

    Firebase和Cassandra是两种拥有不同数据存储架构的数据库。Firebase是一种实时数据库,而Cassandra是一种分布式数据库。 Firebase Firebase是由Google推出的一种实时数据库,能够支持实时同步数据变更,通过对数据进行监听,一旦数据发生变更,所有客户端都能够实时感知到。Firebase也提供了API访问,可以通过RE…

    database 2023年3月27日
    00
  • Python的Django框架实现数据库查询(不返回QuerySet的方法)

    对于“Python的Django框架实现数据库查询(不返回QuerySet的方法)”,我们可以通过以下步骤来实现: 步骤一:连接数据库 在Django中,我们可以通过django.db来连接数据库,需要在settings.py文件中配置数据库信息。 # 在settings.py中配置数据库信息 DATABASES = { ‘default’: { ‘ENGI…

    database 2023年5月21日
    00
  • mysql按日期做曲线图统计,如果当天没有数据则日期不全、补全日期

    侵删。不足之处请谅解。 工作中遇到的问题:   不会就百度,多百度几次总会有自己需要的。比如这个曲线统计,我也是借用了博客里的各位大大,然后按照自己项目需求做的,页面给前端怼数据去就行,下面是步骤 1,用户统计曲线图,如果其中某一天没有数据,曲线图的日期链接不起来,如图:     我的解决方法:靠百度。首先生成某个范围的日历表数据,再通过这个日历表连接查询需…

    MySQL 2023年4月13日
    00
  • SQL 查询 SELECT

    SQL(Structured Query Language)是一种可以用来查询和处理关系型数据库的计算机语言。SELECT 是 SQL 中最常用的命令之一,它用来获取表中的数据。 下面是 SELECT 命令的语法: SELECT column1, column2, … FROM table_name; 其中,column1,column2 表示需要返回的…

    database 2023年3月27日
    00
  • Redis缓存数据库-快速入门

    目录 Redis数据库快速入门 一、Redis数据库 1、redis的安装与运行 2、RESP图形化操作文件 二、pycharm操作redis 1、Redis普通连接和连接池 2、Redis数据类型 2、1.String类型 2、2.List类型 2、3.Hash类型 4、通用操作 3、Redis管道 三、Django操作Redis 1、自定义包方案 2、将…

    Redis 2023年4月13日
    00
  • MySQL创建存储过程(CREATE PROCEDURE)

    MySQL创建存储过程的方法: 在MySQL中创建存储过程需要使用CREATE PROCEDURE语句,并指定存储过程的名称; 设置存储过程的参数、返回值、执行体等信息; 使用END语句来结束存储过程。 MySQL创建存储过程的示例: 如下片段是创建一个简单的 MySQL 存储过程的示例: DELIMITER // CREATE PROCEDURE get_…

    MySQL 2023年3月10日
    00
  • web 页面 一些sql注入语句小结

    首先,需要明确一下什么是 SQL 注入。SQL 注入是一种攻击方式,攻击者通过在 web 应用中输入恶意 SQL 代码来实现非法操作,从而破坏数据库的完整性和机密性。在 web 页面中,由于用户输入的数据不可控,如果使用不安全的 SQL 查询方式,会让 SQL 注入攻击者有机可乘。 以下是针对 SQL 注入攻击的一些攻略: 使用参数化查询 在代码编写的过程中…

    database 2023年5月21日
    00
合作推广
合作推广
分享本页
返回顶部