承接上一篇,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 =
server_id =
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 '',
`id1_type` int(10) unsigned NOT NULL DEFAULT '',
`id2` bigint(20) unsigned NOT NULL DEFAULT '',
`id2_type` int(10) unsigned NOT NULL DEFAULT '',
`link_type` bigint(20) unsigned NOT NULL DEFAULT '',
`visibility` tinyint(3) NOT NULL DEFAULT '',
`data` varchar(255) NOT NULL DEFAULT '',
`time` bigint(20) unsigned NOT NULL DEFAULT '',
`version` int(11) unsigned NOT NULL DEFAULT '',
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=/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 mysqld on

这样我们可以通过以下命令来重启项目。

service mysqld restart

出现以下结果表示自动重复mysqld服务成功。

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

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

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

centos下安装myrocksdb的更多相关文章

  1. CentOS下安装hadoop

    CentOS下安装hadoop 用户配置 添加用户 adduser hadoop passwd hadoop 权限配置 chmod u+w /etc/sudoers vi /etc/sudoers 在 ...

  2. CentOS下安装使用start-stop-daemon

    CentOS下安装使用start-stop-daemon 在centos下下了个自启动的服务器脚本 执行的时候发现找不到start-stop-daemon命令 好吧 执行手动编译一下 加上这个命令 w ...

  3. 从零开始学 Java - CentOS 下安装 Tomcat

    生活以痛吻我,我仍报之以歌 昨天晚上看到那个冯大辉老师的微信公众号,「小道消息」上的一篇文章,<生活以痛吻我,我仍报之以歌>.知乎一篇匿名回答,主题为<冯大辉到底是不是技术大牛,一个 ...

  4. CentOS 下安装

    2016年12月5日15:25:58 ----------------------------------- 通常情况下在centos下安装软件就用yum. 关键是,使用yum你要知道安装包的名字是什 ...

  5. [Linux]CentOS下安装和使用tmux

    前天随意点开博客园,看到了一篇关于tmux的文章 Tmux - Linux从业者必备利器,特意还点进去看了.毕竟Linux对于做游戏服务端开发的我来说,太熟悉不过了.不过我就粗略地看了一眼,就关掉了. ...

  6. CentOS下安装JDK7 转载

    转载地址:http://www.cnblogs.com/rilley/archive/2012/02/02/2335395.html CentOS下安装JDK7 下载地址:http://www.ora ...

  7. Centos下安装mysql 总结

    一.MySQL安装 Centos下安装mysql 请点开:http://www.centoscn.com/CentosServer/sql/2013/0817/1285.html 二.MySQL的几个 ...

  8. 在centos下安装django

    这里有一个不错的Django的学习资料.先收藏一下,以备后用.谢谢 http://www.ziqiangxuetang.com/django/django-install.html 在centos下安 ...

  9. centos下安装php环境

    centos下安装php环境 安装apache yum install httpd-devel 启动apache /etc/init.d/httpd start 安装mysql yum install ...

随机推荐

  1. 网鼎杯 pwn 记录

    题目位置 https://gitee.com/hac425/blog_data/tree/master/wdb babyheap 通过分配和释放构建 2 个 fastbin 链 利用 show 功能, ...

  2. 使用office打印到文件功能进行打印测试

     大家在日常的支持工作中常会遇到各种打印问题,所以进行一些打印测试也在所难免.但是每次跑来跑去浪费了宝贵的时间,打印又浪费了纸张资源.我们也会想到安装虚拟打印机,但因为没有合适的软件,结果是我们只 ...

  3. CSS 样式初始化

    去除浏览器对html的附加样式,避免不同浏览器之间的样式差异,给前端开发提供统一的样式基础.附加样式: .clearfix - 清除浮动 .wordsBreak - 允许文本在任意位置的换行 .ell ...

  4. 线程间的通信方式2--管道流Pipes

    “管道”是java.io包的一部分.它是Java的特性,而不是Android特有的.一条“管道”为两个线程建立一个单向的通道.生产者负责写数据,消费者负责读取数据. 下面是一个使用管道流进行通信的例子 ...

  5. oracle exp dmp

    exp help=yconn scott/tiger;select * from tab;create table student(sno int, sname varchar2(10), sage ...

  6. 记录一次mybatis查询返回为空数据库却能查询到数据的经历

    昨晚上测试人员给发了一条测试数据,说是根据这条数据接口返回信息为空.之后根据给的信息去数据库查询了下,明明是有数据的.但是用mybatis就是查询不出来.奇了怪了,自己测试的数据都能查询出来,为何这条 ...

  7. leetCode题解之旋转数字

    1.题目描述 X is a good number if after rotating each digit individually by 180 degrees, we get a valid n ...

  8. leetCode之二叉树数中序遍历(递归实现)

    1.题目描述 2.分析 对于树来说,由于其结构是递归定义的,所以对二叉树很多算法使用递归是最容易的.反倒是使用循环方式需要借助特殊的数据结构来实现. 3.代码 vector<int> in ...

  9. NoSQL数据库---NoSQL数据库的分类

    NoSQL数据库的分类 个人理解一下文档型数据库: 就是键值对数据库的升级,允许键值之间嵌套键值,比如JSON格式的数据.效率比key_value的数据库更高. [更多参考]http://www.cn ...

  10. Lua脚本语法说明(转):

    Lua脚本语法说明(增加lua5.1部份特性) 转自:http://www.cnblogs.com/ly4cn/archive/2006/08/04/467550.html Lua 的语法比较简单,学 ...