centos下安裝myrocksdb


承接上一篇,https://www.cnblogs.com/lunyu/p/10190364.html  。編譯安裝myrocks的整個過程,特別是第2步和第7步,讓人冗長難耐。因此編譯安裝成功后省去這些步驟就顯得很可貴了。這里,我提供了編譯安裝后的myrocks安裝包,方便myrocksdb服務的的快速安裝部署。

1. 安裝必要的包

sudo yum install cmake gcc-c++ bzip2-devel libaio-devel bison \
zlib-devel snappy-devel
sudo yum install gflags-devel readline-devel ncurses-devel \
openssl-devel lz4-devel gdb git

2. 安裝autoconf

yum -y install autoconf

如果不安裝,執行mysqldb的安裝步驟( ./mysql_install_db --user=mysql --defaults-file=/usr/local/mysql/my.cnf --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data )會出現以下錯誤:

FATAL ERROR: please install the following Perl modules before executing ./mysql_install_db:
Data::Dumper

3. 安裝zstd

zstd是zstandard數據壓縮工具,由Facebook開發,該工具如果不安裝,執行第6步時會提示缺少zstd的問題。

參考頁面:https://www.howtoing.com/zstd-fast-data-compression-algorithm-used-by-facebook

執行如下幾步:

cd /usr/local
git clone https://github.com/facebook/zstd.git
cd zstd
make
sudo make install

編譯和安裝(make install)后的zstd文件產生的文件在 /usr/local/lib 下,我們需要將該目錄下的文件拷貝至 /usr/lib64 目錄下。

cd /usr/local/lib
cp * /usr/lib64

如果沒有安裝zstd,則會出現以下錯誤:

/usr/local/mysql/mysql-5.6/bin/my_print_defaults: error while loading shared libraries: libzstd.so.1: cannot open shared object file: No such file or directory
FATAL ERROR: Neither host 'localhost.localdomain' nor 'localhost' could be looked up with
/usr/local/mysql/mysql-5.6/bin/resolveip
Please configure the 'hostname' command to return a correct
hostname.
If you want to solve this at a later stage, restart this script
with the --force option

4. 下載myrocksdb的安裝包並解壓

百度網盤鏈接:https://pan.baidu.com/s/1qmXz_FfQ1dT9-guu5mwTgA   , 提取碼:93wy。

將上述地址分享的 mysql.tar.gz 文件下載下來,上傳到centos服務器 /usr/local 路徑下並解壓。

cd /usr/local
tar -zvxf mysql.tar.gz

5. 配置my.cnf文件

對mysql的配置文件 /etc/my.cnf 填入以下內容。

[client]
default-character-set=utf8
[mysqld]
character_set_server=utf8
basedir =/usr/local/mysql
datadir =/usr/local/mysql/data
socket= /usr/local/mysql/mysql-5.6.sock
port =3306
server_id =1
user=mysql

default_authentication_plugin=mysql_native_password

rocksdb
default-storage-engine=rocksdb
skip-innodb
default-tmp-storage-engine=MyISAM
collation-server=utf8_bin

log-bin
binlog-format=ROW

6. 安裝數據庫

cd /usr/local/mysql/scripts
./mysql_install_db --user=mysql --defaults-file=/usr/local/mysql/my.cnf --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

7. 啟動數據庫

切換到 /usr/local /mysql/bin 目錄下,執行mysql的啟動。

cd /usr/local/mysql/bin
./mysqld_safe --defaults-file=/usr/local/mysql/my.cnf & 

通過 ps –ef | grep mysql 命令查看,出現mysql的啟動進程表示啟動成功。

8. 登錄mysql

在 /usr/local/mysql/bin 目錄下,執行,

./mysql –u root –p

輸入密碼:123456

之后進行一些必要的操作。

9. 嘗試創建庫和表

創建數據庫

create database myrocks;

創建表

CREATE TABLE `linktable` (
  `id1` bigint(20) unsigned NOT NULL DEFAULT '0',
  `id1_type` int(10) unsigned NOT NULL DEFAULT '0',
  `id2` bigint(20) unsigned NOT NULL DEFAULT '0',
  `id2_type` int(10) unsigned NOT NULL DEFAULT '0',
  `link_type` bigint(20) unsigned NOT NULL DEFAULT '0',
  `visibility` tinyint(3) NOT NULL DEFAULT '0',
  `data` varchar(255) NOT NULL DEFAULT '',
  `time` bigint(20) unsigned NOT NULL DEFAULT '0',
  `version` int(11) unsigned NOT NULL DEFAULT '0',
PRIMARY KEY (link_type, `id1`,`id2`) COMMENT 'cf_link_pk',
KEY `id1_type` (`id1`,`link_type`,`visibility`,`time`,`version`,`data`) COMMENT 'rev:cf_link_id1_type'
) ENGINE=RocksDB DEFAULT COLLATE=utf8_bin;

10. 開放防火牆端口

這里防火牆是cetos默認的firewall防火牆。

打開設置的端口,重啟防火牆。

firewall-cmd --zone=public --add-port=3306/tcp --permanent
systemctl restart firewalld.service

11. 設置mysqld服務啟動

每次啟動服務都要執行步驟7,切換目錄很麻煩,可以執行下面的操作,通過service啟動。

執行chkconfig管理系統服務(service)的命令行工具。

cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
chmod +x /etc/init.d/mysqld
chkconfig --add mysqld
chkconfig --level 345 mysqld on

這樣我們可以通過以下命令來重啟項目。

service mysqld restart

出現以下結果表示自動重復mysqld服務成功。

12. 設置在任意位置登錄和導出mysql庫

只需要配置一下mysql的環境變量。

export MYSQL_HOME=/user/local/mysql
export PATH=$MYSQL_HOME/bin:$PATH

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM