centos下安装myrocksdb

栏目: 数据库 · 发布时间: 5年前

内容简介:承接上一篇,如果不安装,执行mysqldb的安装步骤(zstd是zstandard数据压缩工具,由Facebook开发,该工具如果不安装,执行第6步时会提示缺少zstd的问题。

承接上一篇, 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

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

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

代码整洁之道:程序员的职业素养

代码整洁之道:程序员的职业素养

罗伯特·C.马丁 (Robert C.Martin) / 余晟、章显洲 / 人民邮电出版社 / 2016-9-1 / 49.00元

1. 汇聚编程大师40余年编程生涯的心得体会 2. 阐释软件工艺中的原理、技术、工具和实践 3. 助力专业软件开发人员具备令人敬佩的职业素养 成功的程序员在以往的工作和生活中都曾经历过大大小小的不确定性,承受过永无休止的压力。他们之所以能够成功,是因为拥有一个共同点,都深切关注创建软件所需的各项实践。他们将软件开发视为一种需要精雕细琢加以修炼的技艺,他们以专业人士的标准要求自己,......一起来看看 《代码整洁之道:程序员的职业素养》 这本书的介绍吧!

URL 编码/解码
URL 编码/解码

URL 编码/解码

MD5 加密
MD5 加密

MD5 加密工具

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换