mysql-bin.0000X 日誌文件處理

1、清除文件

[root@jiucool var]# /usr/local/mysql/bin/mysql -u root -p
Enter password:  (輸入密碼)

Welcome to the MySQL monitor.  Commands end with ; or /g.Your MySQL connection id is 264001Server version: 5.1.35-log Source distributionmysql

Type ‘help;’ or ‘/h’ for help. Type ‘/c’ to clear the current input statement.sql

mysql> reset master; (清除日誌文件)
Query OK, 0 rows affected (8.51 sec)編輯器

mysql>函數

好了,咱們再來查看下mysql文件夾佔用多少空間?性能

此處須要退出mysql編輯器,\q 命令能夠退出spa

[root@jiucool var]# du -h –max-depth=1 /usr/local/mysql/
37M     /usr/local/mysql/var
70M     /usr/local/mysql/mysql-test
15M     /usr/local/mysql/lib
448K    /usr/local/mysql/include
2.9M    /usr/local/mysql/share
7.6M    /usr/local/mysql/libexec
17M     /usr/local/mysql/bin
11M     /usr/local/mysql/docs
2.9M    /usr/local/mysql/sql-bench
163M    /usr/local/mysql/日誌

好了,看一下,整個mysql 目錄才佔用163M大小!OK,沒問題,既然mysql-bin.0000X日誌文件佔用這麼大空間,存在的意義又不是特別大,那麼咱們就不讓它生成吧.code

 

2、MySQL開啓binlog而且保存7天有效數據orm

首先要查找my.cnf文件位置server

find / -name my.cnf

開啓binlog日誌(在[mysqld]下修改或添加以下配置):

    server-id=1
    log-bin=mysql-bin
    binlog_format=MIXED

binlog日誌模式 

Mysql複製主要有三種方式:基於SQL語句的複製(statement-based replication, SBR),基於行的複製(row-based replication, RBR),混合模式複製(mixed-based replication, MBR)。對應的,binlog的格式也有三種:STATEMENT,ROW,MIXED。  

     一、STATEMENT模式(SBR)

    每一條會修改數據的sql語句會記錄到binlog中。優勢是並不須要記錄每一條sql語句和每一行的數據變化,減小了binlog日誌量,節約IO,提升性能。缺點是在某些狀況下會致使master-slave中的數據不一致(如sleep()函數, last_insert_id(),以及user-defined functions(udf)等會出現問題)   

    二、ROW模式(RBR)

不記錄每條sql語句的上下文信息,僅需記錄哪條數據被修改了,修改爲什麼樣了。並且不會出現某些特定狀況下的存儲過程、或function、或trigger的調用和觸發沒法被正確複製的問題。缺點是會產生大量的日誌,尤爲是alter table的時候會讓日誌暴漲。

    三、MIXED模式(MBR)

     以上兩種模式的混合使用,通常的複製使用STATEMENT模式保存binlog,對於STATEMENT模式沒法複製的操做使用ROW模式保存binlog,MySQL會根據執行的SQL語句選擇日誌保存方式。

查看默認的日誌保存天數

 

          show variables like '%expire_logs_days%';
         0-表示永不過時

 

設置爲7天有效期(修改配置文件)

expire_logs_days=7

binlog使用

mysqlbinlog /var/lib/mysql/mysql-bin.000003
相關文章
相關標籤/搜索