mysql故障--mysqlbinlog無法查詢日誌問題說明

來源:互聯網
上載者:User

標籤:get   sysconf   using   啟動   cal   script   ges   arc   ora   

問題說明:

下載binlog日誌

mysqlbinlog  mysq-bin.000285查看binlog日誌的時候報錯

ERROR: Error in Log_event::read_log_event(): ‘Sanity check failed‘, data_len: 73, event_type: 30

ERROR: Could not read entry at offset 240: Error in log format or read error.

注釋:

由於mysqlbinlog工具的版本和mysql資料庫版本不相容,或mysql資料庫的版本太低

查看下mysqlbinlog的版本

mysqlbinlog  -V

mysqlbinlog Ver 3.3 for Linux at x86_64

查看下mysql的版本

mysql  -V

mysql  Ver 14.14 Distrib 5.1.73, for redhat-linux-gnu (x86_64) using readline 5.1

我們看到mysql資料庫版本是5.1的,而mysqlbinlog版本是3.3的,可以推斷出是mysql資料庫版本過低導致的mysqlbinlog命令不可用

問題解決:

升級mysql資料庫

升級版本:MySQL版本:mysql-5.6.10

mysql安裝目錄:/usr/local/mysql

mysql資料庫存放目錄: /data/mysql

一、下載源碼包

1.下載mysql源碼

wget http://cdn.mysql.com/archives/mysql-5.6/mysql-5.6.10.tar.gz

2.下載cmake源碼

Wget http://www.cmake.org/files/v2.8/cmake-2.8.10.tar.gz

二、安裝編譯工具以及依賴包

yum -y install make cmake gcc gcc-c++-* libtool ncurses-devel glibc glib2-devel openssl-devel pcre-devel bzip2-devel perl-devel

三、安裝cmake

cd /data/packages/ 進入軟體包存放目錄

tar -xvzf cmake-2.8.10.tar.gz

cd cmake-2.8.10

./configure

make

make install

四、安裝mysql

groupadd mysql          添加mysql組

useradd -g mysql mysql    建立mysql使用者並加入到mysql組

mkdir -p /data/mysql      建立mysql資料庫存放目錄

chown -R mysql:mysql /data/mysql   設定mysql資料庫存放目錄許可權

mkdir -p /usr/local/mysql           建立mysql安裝目錄

cd /data/packages/ 進入軟體包存放目錄

tar -xvzf mysql-5.6.10.tar.gz          解壓mysql源碼包

cd mysql-5.6.10 切換到解壓目錄下

cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql  -DMYSQL_DATADIR=/data/mysql  -DSYSCONFDIR=/etc 檢測環境

make 編譯

make install 安裝

rm -rf /etc/my.cnf 刪除系統預設的設定檔

cd /usr/local/mysql 進入mysql安裝目錄

./scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql  產生mysql系統資料庫

ln -s /usr/local/mysql/my.cnf /etc/my.cnf 添加軟串連

cp ./support-files/mysql.server  /etc/rc.d/init.d/mysqld 將mysql加入到系統啟動

chmod 755 /etc/init.d/mysqld 添加執行許可權

chkconfig mysqld on 加入到開機自啟動

vim /etc/rc.d/init.d/mysqld

在該檔案中修改

basedir=/usr/local/mysql mysql程式安裝目錄

datadir=/data/mysql mysql資料庫存放路徑

 

五、啟動資料庫

service mysqld start

六、將mysql服務加入到系統內容變數

vim /etc/profile

在該檔案的最後添加下面一行

export PATH=$PATH:/usr/local/mysql/bin

六、設定mysql資料庫密碼

進入資料庫

/usr/local/mysql/bin/mysql

SET PASSWORD = PASSWORD("newpassword");

flush privileges;

七、重啟資料庫

service mysqld restart

八、繼續查詢binlog

命令列輸入mysqbinlog mysql-bin.00020845

發現還是不能查看

九、查看mysql資料庫版本資訊

命令列輸入

mysql -V

mysql  Ver 14.14 Distrib 5.1.73, for redhat-linux-gnu (x86_64) using readline 5.1

資料庫版本沒有變化,還是5.1版本

進入資料庫查看mysql版本

/usr/local/mysql/bin/mysql -uroot -p 密碼

mysql> select version();

+-----------+

| version() |

+-----------+

| 5.6.10    |

+-----------+

1 row in set (0.00 sec)

 

mysql>

資料庫版本是mysql-5.6.10

執行下面操作

cp /usr/local/mysql/bin/mysql /usr/bin/mysql

再次查看資料庫版本

mysql -V

mysql  Ver 14.14 Distrib 5.6.10, for Linux (x86_64) using  EditLine wrapper

版本已經更新為mysql-5.6.10

重新查詢binlog

Mysqlbinlog mysql-bin.0003325

發現還是報錯

執行下面操作

cp /usr/local/mysql/bin/mysqlbinlog /usr/bin/mysqlbinlog

完成之後再次查看binlog

mysqbinlog mysql-bin.00032545

發現查詢成功

 

mysql故障--mysqlbinlog無法查詢日誌問題說明

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.