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

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

Original: https://www.cnblogs.com/lunyu/p/10216781.html
Author: 论语
Title: centos下安装myrocksdb

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/611248/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • 2 Java中 == 和 equals 和 hashCode 的区别

    ==是一个比较运算符; 若比较的是基本数据类型,则比较的是值; 若比较的是引用数据类型,则比较的是它们在内存中的内存地址。 说明:对象是存放在堆中,栈中存放的是对象的引用,因此==…

    数据库 2023年6月6日
    099
  • 关系型、非关系型数据库存储选型盘点大全

    工作中总是遇到数据存储相关的 Bug 工单,新需求开发设计中也多多少少会有数据模型设计和存储相关的问题。经过几次存储方案设计选型和讨论后发现需要有更全面的思考框架。 日常开发中常用…

    数据库 2023年6月14日
    0126
  • 设计模式之(12)——外观模式

    外观模式(facadePattern)又叫门面模式,隐藏了子系统的复杂实现,为子系统中的一组接口提供了一个统一的访问入口,使得子系统容易被访问或使用,说白了就是把复杂的子系统封装成…

    数据库 2023年6月14日
    083
  • leetcode 226. Invert Binary Tree 翻转二叉树(简单)

    一、题目大意 给你一棵二叉树的根节点 root ,翻转这棵二叉树,并返回其根节点。 示例 1: 输入:root = [4,2,7,1,3,6,9]输出:[4,7,2,9,6,3,1…

    数据库 2023年6月16日
    086
  • 人如蝼蚁,跌倒再起。

    本文来自博客园,作者:ukyo–BlackJesus,转载请注明原文链接:https://www.cnblogs.com/ukzq/p/16750141.html Or…

    数据库 2023年6月11日
    099
  • JDK安装

    环境变量–>新建JAVA_HOME–>D:\Environment\java\jdk1.8 配置path变量–>新建%JAVA…

    数据库 2023年6月11日
    090
  • 2022-8-15 数据库 mysql 第一天

    Mysql数据库 数据库 数据库[根据数据结构组织、存储和管理数据的仓库]。它是有组织的、可共享的、统一管理的大量数据的集合,这些数据长期存储在计算机中。 [En] Databas…

    数据库 2023年5月24日
    064
  • MySQL CREATE TABLE 简单设计模板交流

    我们也可以多台机器部署, 设置不同 AUTO_INCREMENT step, 让每个 sequece 产生不同号码. 例如部署 step = 2 个服务结点, 并行获取数据. 一个…

    数据库 2023年5月24日
    0130
  • MySQL函数学习(五)—–流程控制函数

    md函数笔记五 注:笔记旨在记录 五、MySQL 流程控制函数 0. 表 0.1 num表: 1. IF() — 条件判断 1.1. 函数: 1.2. sql示例: 2…

    数据库 2023年6月16日
    0106
  • 强烈推荐一款优秀且通用的后台管理系统

    最近看到一款优秀的通用管理后台——likeadmin,推荐给大家。likeadmin的部署方式简单,界面美观,基于MIT协议,完全免费,非常值得一用。 likeadmin快速开发通…

    数据库 2023年6月14日
    091
  • MySQL45讲之查询慢或者阻塞

    前言 本文介绍了表锁定和执行速度慢的实例,以及表锁定时的故障排除方法。 [En] This paper introduces examples of table locking a…

    数据库 2023年5月24日
    0112
  • Linux中MySQL的安装以及卸载

    一.MySQL MySQL 是一种开放源代码的关系型数据库管理系统,开发者为瑞典MySQL AB公司。在2008年1月16号被Sun公司收购。而2009年,SUN又被Oracle收…

    数据库 2023年5月24日
    0105
  • PLSQL_developer安装与配置

    前言: 记录安装与配置操作 环境: 客户机:windows服务器:虚拟机中的windows server 2003/————&#82…

    数据库 2023年6月11日
    089
  • Redis——数据操作

    2022-09-20 Redis——select Redis数据库中的数据库的个数为: 16个,使用0号数据库开始的,到第15个数据库结束。 在ubantu中,进入Redis客户端…

    数据库 2023年6月14日
    071
  • feign之间传递oauth2-token的问题和解决~续

    之前写过关于修改hystric的隔离《feign之间传递oauth2-token的问题和解决》方式来在feign调用各个微服务中传递token,修改为SEMAPHORE之后,会有一…

    数据库 2023年6月6日
    088
  • 在Linux中使用crontab

    查看已存在的任务 查看crontab 输入命令: cat /etc/crontab 在设定编辑之前都建议列出服务查看一下: crontab -l 语法: **** user_nam…

    数据库 2023年6月14日
    087
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球