TokuDB引擎啟動失敗解決

2021-08-06 02:13:45 字數 1680 閱讀 9084

tokudb引擎修改資料儲存目錄引數特別複雜,稍不留神,tokudb引擎就無法啟動了。怎麼折騰都不能修改目錄引數,也不能啟動的情況下,可以解除安裝掉重灌。本文記錄今天填坑的經歷,解除安裝重灌後再修改目錄。

啟動失敗的情況下,/var/log/mysqld.log中有這個錯:[error] tokudb: recovery log is missing (persistent environment information is present) while looking for recovery log files in [/var/lib/mysql/]。

show engines沒有tokudb.

解決辦法就是解除安裝tokudb,重新安裝。

1 停止mysql,重置my.cnf檔案

service mysql stop

rm -rf /etc/my.cnf

cd /etc/

touch my.cnf

2 編輯my.cnf,新增如下配置,並儲存。

!includedir /etc/my.cnf.d/

!includedir /etc/percona-server.conf.d/

[mysqld]

character_set_server=utf8

[mysqld_safe]

malloc-lib=/usr/lib64/libjemalloc.so.1

3查詢tokudb安裝資訊,並解除安裝

rpm -qa | grep tokudb

yum -y remove percona-server-tokudb-57-5.7.18-16.1.el7.x86_64

4 刪除tokudb殘留檔案

cd /var/lib/mysql

rm -rf tokudb*

rm -rf __tokudb*

5 安裝tokudb:先查詢檔案,再進入檔案目錄安裝。

find / -name percona-server-tokudb-57-5.7.18-16.1.el7.x86_64*

cd /home/

rpm -ivh percona-server-tokudb-57-5.7.18-16.1.el7.x86_64.rpm

6 啟動mysql

7 啟用tokudb

ps_tokudb_admin –enable -u root -p

最後一行是is installed才是安裝成功了;如果is not install的話,請耐心重複上述操作。

8 重啟mysql,登入mysql,執行show engines;

service mysql restart

mysql -u root -p

show engines;

9 修改tokudb配置檔案路徑

tokudb乙個簡單的設定目錄引數都能整出問題,我就快成了專業填坑的了。好處就是以極大的耐心、接受極好的linux練習時機。更重要的是,我竟然能找到解決之道,這無疑增加了我的信心,而且今天的部落格有東西寫了。

TokuDB引擎筆記

client port 3306 socket tmp mysql.sock mysqld port 3306 socket tmp mysql.sock skip external locking max allowed packet 1m myisam sort buffer size 64m ...

TokuDB 引擎特性 zstd壓縮演算法

tokudb有著出色的壓縮特性,這不是 蓋 的 rds上有個innodb例項,1天的資料將近700gb空間,換成tokudb後 預設zlib壓縮 同樣的700gb可以儲存 天的資料,業務讀寫效能也無任何影響,空間成本直線下降。為什麼tokudb的壓縮這麼給力?因為tokudb乙個 頁 的大小為4mb...

解決Rabbitmq server 啟動失敗

最近在使用devstack部署開發環境的時候,遇到了rabbitmq server安裝後執行啟動指令碼失敗的情況 invoke rc.d initscript rabbitmq server,action start failed.原因在於rabbitmq會在啟動前會解析主機名的位址是否可通。需要在...