承接上一篇,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
Original: https://www.cnblogs.com/lunyu/p/10216781.html
Author: 论语
Title: centos下安装myrocksdb
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/611248/
转载文章受原作者版权保护。转载请注明原作者出处!