• 技术文章 >数据库 >mysql教程

    mysql-bin是什么文件?

    青灯夜游青灯夜游2019-05-23 18:55:23原创4662

    mysql的mysql-bin是数据库的操作日志文件,如果不做主从复制的话,基本上是没用的。

    例如UPDATE一个表,或者DELETE一些数据,即使该语句没有匹配的数据,这个命令也会存储到日志文件中,还包括每个语句执行的时间,也会记录进去的。

    这样做主要有以下两个目的:

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

    2:主从服务器之间同步数据主服务器上所有的操作都在记录日志中,从服务器可以根据该日志来进行,以确保两个同步。举例:当单一的mysql服务器服务使用时,可以将相应的 log-bin=/program/mysql/mysql-bin 该项注释掉,加 “#”号然后重启 mysql 服务。

    如何删除mysql-bin文件?

    默认情况下mysql会一直保留mysql-bin文件,这样到一定时候,磁盘可能会被撑满,虽然文件没用,但是不建议使用rm命令删除,这样有可能会不安全,正确的方法是通过mysql的命令去删除。

    mysql -u root -p
    Enter password: 
    Welcome to the MySQL monitor.  Commands end with ; or \g.
    Your MySQL connection id is 2819416
    Server version: 5.5.24-0ubuntu0.12.04.1-log (Ubuntu)
    Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.
    Oracle is a registered trademark of Oracle Corporation and/or its
    affiliates. Other names may be trademarks of their respective
    owners.
    Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
    
    mysql> reset master;
    Query OK, 0 rows affected (3 min 37.65 sec)

    其实关键的命令就是reset master;这个命令会清空mysql-bin文件。

    另外如果你的mysql服务器不需要做主从复制的话,建议通过修改my.cnf文件,来设置不生成这些文件,只要删除my.cnf中的下面一行就可以了。

    log-bin=mysql-bin

    如果你需要复制,最好控制一下这些日志文件保留的天数,可以通过下面的配置设定日志文件保留的天数:

    expire_logs_days = 7

    表示保留7天的日志,这样老日志会自动被清理掉。

    以上就是mysql-bin是什么文件?的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:mysql mysql-bin
    上一篇:mysqld是什么? 下一篇:mysql服务怎么启动和关闭?
    VIP课程(WEB全栈开发)

    相关文章推荐

    • 【腾讯云】年中优惠,「专享618元」优惠券!• mysql怎么建库?• MySQL用户名怎么查看?• mysql存储函数怎么用?• mysqld是什么意思?
    1/1

    PHP中文网