欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

centos下安装myrocksdb

程序员文章站 2023-10-11 20:48:47
承接上一篇,https://www.cnblogs.com/lunyu/p/10190364.html 。编译安装myrocks的整个过程,特别是第2步和第7步,让人冗长难耐。因此编译安装成功后省去这些步骤就显得很可贵了。这里,我提供了编译安装后的myrocks安装包,方便myrocksdb服务的的 ......

承接上一篇, 。编译安装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的问题。

参考页面:

执行如下几步:

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

centos下安装myrocksdb

编译和安装(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的启动进程表示启动成功。

centos下安装myrocksdb

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服务成功。

centos下安装myrocksdb

12. 设置在任意位置登录和导出mysql库

只需要配置一下mysql的环境变量。

export mysql_home=/user/local/mysql
export path=$mysql_home/bin:$path