程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> 簡介操作MySQL日記的一些辦法

簡介操作MySQL日記的一些辦法

編輯:MySQL綜合教程

簡介操作MySQL日記的一些辦法。本站提示廣大學習愛好者:(簡介操作MySQL日記的一些辦法)文章只能為提供參考,不一定能成為您想要的結果。以下是簡介操作MySQL日記的一些辦法正文


我們可以在mysql的裝置目次下看到mysql的二進制日記文件,如mysql-bin.000***等,許多人都不實時的處置,招致全部硬盤被塞滿也是有能夠的。這些是數據庫的操作日記。它記載了我們日常平凡應用的sql語句敕令,即便這個sql語句沒有被履行,也會被記載,它包含履行時光之類的都具體在案,其實 它的目標有兩個:一是便利我們查錯和恢單數據庫;二是為了主從辦事器之間同步數據用的,主從辦事器上一切操作都記載在日記裡,從辦事器可以依據這些日記來停止雷同的操作,確保主從兩個同步。
檢查mysql日記的敕令:

#mysql -u user -p   //user代表你的mysql用戶名

Enter password: (輸出暗碼)        //輸出暗碼後就進入mysql的掌握台

mysql> show master logs;       //顯示mysql日記文件
+------------------+-----------+
| Log_name       | File_size |
+------------------+-----------+
| mysql-bin.000010 | 63328652 |
+------------------+-----------+
1 row in set (0.06 sec)

也能夠在mysql的敕令形式下,輸出以下敕令:

mysql> show binary logs;        //檢查二進制日記文件列表和年夜小
+------------------+-----------+
| Log_name     | File_size |
+------------------+-----------+
| mysql-bin.000010 | 63355376 |
+------------------+-----------+
1 row in set (0.00 sec)

MASTER和BINARY是同義詞。

刪除mysql 二進制日記:

第一種辦法是針對零丁的mysql辦事器,不合適主從同步的。切記!固然,假如你確保本身的主從同步曾經完成了,那末也能夠應用這個敕令,然則我照樣不怎樣建議的。

第一種辦法:mysql>reset master;            //清空一切mysql一切的二進制日記文件

主從同步,建議用以下兩種辦法:

起首,我們要曉得從mysql辦事器能否在讀取日記,或許在讀取哪一個日記。

在附屬辦事器上輸出一下敕令:

mysql>show slave hosts     //檢查一切銜接到master的slave的信息

mysql>show slave status;        //檢討從辦事器在讀取哪一個日記

上面第二種和第三種辦法中,當從辦事器正在讀取你正在刪除的日記時刻,就會掉效,而且會有報錯。假如附屬辦事器沒有讀取日記,而你又刪了它啟動後要讀取的日記,那末當它啟動後就不會復制。所以,上面兩種辦法可以平安刪除日記文件。

主從辦事器清算日記操作步調以下:

  •     在每一個附屬辦事器上,應用SHOW SLAVE STATUS來檢討它正在讀取哪一個日記。
  •     應用SHOW MASTER LOGS取得主辦事器上的一系列日記。
  •     在一切的附屬辦事器中剖斷最早的日記,這個是目的日記,假如一切的附屬辦事器是更新的,就是清單上的最初一個日記。
  •     清算一切的日記,然則不包含目的日記,由於從辦事器還要跟它同步。

留意:最好做好你要刪除的一切日記的備份,有備份,就不怕失足

第二種刪除二進制日記的辦法:

PURGE {MASTER | BINARY} LOGS TO 'log_name'

例子:

mysql>purge master logs to 'mysql-bin.000800';  //清晰mysql-bin.000800之前的二進制日記

第三種刪除二進制日記的辦法:

PURGE {MASTER | BINARY} LOGS BEFORE 'date'

例子:

mysql>purge master logs before '2012-12-22 12:12:12'; //刪除2012-12-22 12:12:12這時候間之前的二進制文件

第四種辦法:就是修正my.cnf文件,在中[mysqld]中添加:

expire_logs_day=5       //設置日記的過時天數,過了指定的天數,會主動刪除

第五種辦法:制止mysql的日記記載功效(單辦事器)

修正my.cnf,正文失落上面兩行:

#log-bin=mysql-bin
#binlog_format=mixed

然後重啟mysql

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved