`
kree
  • 浏览: 127124 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

MySQL服务器的log-bin功能

阅读更多

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

那么mysql数据库文件夹中的mysql-bin.00001是什么文件?

引用
mysql-bin.000001、mysql-bin.000002等文件是数据库的操作日志,例如UPDATE一个表,或者DELETE一些数据,即使该语句没有匹配的数据,这个命令也会存储到日志文件中,还包括每个语句执行的时间,也会记录进去的。



这些形如mysql-bin.00001的文件主要是用来做什么的呢?

引用
1:数据恢复
如果你的数据库出问题了,而你之前有过备份,那么可以看日志文件,找出是哪个命令导致你的数据库出问题了,想办法挽回损失。

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


如果不想要这些文件应该怎么做呢?
引用

1:只有一个mysql服务器,那么可以简单的注释掉这个选项就行了。
vi /etc/my.cnf把里面的 log-bin 这一行注释掉,重启mysql服务即可。

2:如果你的环境是主从服务器,那么就需要做以下操作了。
A:在每个从属服务器上,使用SHOW SLAVE STATUS来检查它正在读取哪个日志。
B:使用SHOW MASTER LOGS获得主服务器上的一系列日志。
C:在所有的从属服务器中判定最早的日志,这个是目标日志,如果所有的从属服务器是更新的,就是清单上的最后一个日志。
D:清理所有的日志,但是不包括目标日志,因为从服务器还要跟它同步。




简单地说,这些MySQL目录下的形如mysql-bin.000***的文件时MySQL的事务日志。

删除复制服务器已经拿走的binlog是安全的,一般来说网络状况好的时候,保留最新的那一个足以。

(缺点是将无法使数据库恢复先前的状态)

分享到:
评论
1 楼 MrPengPeng 2010-07-01  
[img][/img]顶!

相关推荐

    mysql-8.0.20-macos10.15-x86_64.tar.gz

    _mysql 40907 0.4 2.1 4907248 350300 s000 S 5:46下午 0:00.95 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --plugin-dir=/usr/local/mysql/lib/plugin --user=mysql...

    mysql-java8-tomcat8

    2\首先确认一下你的linux服务器上面是否有安装过mysql rpm -qa|grep mariadb rpm -qa|grep mysql 如果查询到已经安装过jdk就卸载 rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64 3\解压缩安装包 tar -...

    mysql-event-emitter:mysql mariadb事件发射器

    MySQL服务器 在/etc/mysql/my.cnf启用二进制日志复制 [mysqld] server-id = 1 log_bin = /var/log/mysql/mysql-bin log_bin_index = /var/log/mysql/mysql-bin.index binlog-format = row Mysql用户 授予您的用户...

    mysql-binlog-replicator:Spring应用程序使用mysql binlog文件从mysql数据库实时提供CRUD存储库

    安装玛文<dependency> <groupId>fr.juanwolf</groupId> <artifactId>mysql-binlog-replicator</artifactId> <version>1.0.7</version></dependency>设置MYSQL服务器首先,配置服务器以激活复制。 要在主服务器上激活...

    mysql-binlog-emitter:Node.js mysqlmariadb从属复制事件发射器

    *已针对mariadb 10.1.31和binlog协议版本4进行了测试*内容安装npm install mysql-binlog-emitter 设置MySQL服务器在/etc/mysql/my.cnf启用二进制日志复制[mysqld]server-id = 1log_bin = /var/log/mysql/mysql-...

    mysql5.7.19安装包64位rpm格式

    CentOS7默认安装MariaDB而不是MySQL,而且yum服务器上也移除了MySQL相关的软件包。因为MariaDB和MySQL可能会冲突,故先卸载MariaDB。 1、安装新版mysql之前,我们需要将系统自带的mariadb-lib卸载 [root@iZwz94qazh...

    MySQL数据库:数据库日志管理.pptx

    log-bin=C:/appserv/MySQL/bin/bin_log 保存,重启服务器。 用mysqlbinlog管理日志 数据库日志管理 使用mysqlbinlog实用工具(在windows命令行窗口运行)可以检查二进制日志文件。命令格式为: mysqlbinlog [options...

    Mysql主从同步备份策略

    log-bin=mysql-bin binlog-do-db=mysql #需要备份的数据库名,如果备份多个数据库,重复设置这个选项即可 binlog-ignore-db=mysql #不需要备份的数据库名,如果备份多个数据库,重复设置这个选项即可 log-slave-...

    mysql-redis-sync-utility:MySQL 到 Redis 缓存同步实用程序

    #MySQL服务器设置(/etc/mysql/my.cnf) [mysqld] server-id = 1 log_bin = /var/log/mysql/mysql-bin.log expire_logs_days = 10 max_binlog_size = 100M binlog-format = row #例子 mysql > create database ...

    详解MySQL主从复制读写分离搭建

    server-id=222的意思是设置了服务器的唯一ID,默认是1,一般取IP最后一段,可以写成别的,只要不和其他mysql服务器重复就好。 这里,有的MySQL默认的my.cnf文件引用了/etc/mysql/conf.d路径下的所有cnf文件,因此,...

    MYSQL跨服务器同步数据经验分享

    (1)主服务器 修改配置文件/etc/my.cnf(my.ini) [mysqld] # mysql-bin是log文件的前缀,也可以使用其它的名字,比如服务器名 # 如果不带路径,会把log文件写到`/var/lib/mysql`下 log-bin=mysql-bin # serverid在...

    py-mysql-es:mysql binlog到es

    log_bin = /var/log/mysql/mysql-bin.log expire_logs_days = 10 max_binlog_size = 100M binlog-format = row MySQL用户权限 CREATE USER es IDENTIFIED BY 'es'; GRANT SELECT, REPLICATION SLAVE, REPLICATION ...

    windows主从同步

    log-bin=E:\mail\mysql\data server-id:为主服务器A的ID值 log-bin:二进制变更日值 重启A服务器 对B服务器的配置进行修改,打开mysql/my.ini文件,在[mysqld]下面添加如下内容: [mysqld] server-id=2 ...

    mysql镜像备份mysql镜像备份

    log-bin=binlog_name 2、主库增加用户,用于从库读取主库日志。 grant replication slave,reload,super on *.* to 'slave'@'192.168.0.206' identified by '123456' 3、从库连接主库进行测试。 /opt/mysql/bin/mysql...

    mysql主从备份--双机热备.pdf

    双机热备就是使用MySQL提供的一种主从备份机制实现。所谓双机热备其实是一个复制的过程,复制...这个复制的过程实质上是从服务器复制主服务器上MySQL的二进制日志(bin-log),并在从服务器上还原主服务器上的操作。

    Mysql主从复制服务器配置

    怎么安装mysql数据库,这里不说...  log-bin=mysql-bin //[必须]启用二进制日志  server-id=222 //[必须]服务器ID,默认是1,一般取IP后一段  3、修改从服务器slave:  #vi /etc/my.cnf  [mysqld]  log-bi

    MySQL主从镜像双机

    1、在主控服务器上执行以下命令,为从服务器创建一人专用的账户: GRANT REPLICATION SLAVE ON *.* TO replic@192.168.1.143 IDENTIFIED BY '123456'; 2、修改主从服务器配置文件 ...log-bin=mysqlmaster server-id=1

    MySQL数据库备份.docx

    . MySQL的主从(masre-slave)备份 1.1主数据库服务器(Linux)设置 1)关闭服务器MySQL服务 service mysql stop 2) 编辑Linux中的/etc/my.cnf (是MySQL的配置文件...log-bin=mysql-bin service-id=1 binlog-do-db=zxpt

    如何实现MySQL数据库双机热备份

    然后查看my.cnf或者my.ini中MySQLd配置块的配置有没有log-bin,因为MySQL的复制机制是基于 日志的复制机制,所以主服务器一定要支持更改日志才行。然后设置要写入日志的数据库或者不要写入日志的数据库。这样只有您...

Global site tag (gtag.js) - Google Analytics