MyRocks是关系型数据库Mysql 基于RocksDB 的存储引擎,一个可嵌入的、持久的键值存储。Percona MyRocks 是集于 Percona Server for MySQL的.

RocksDB存储基于日志结构的合并树(LSM tree)。它针对快速存储进行了优化,有出色的空间和写入效率以及可接受的读取性能。因此,如果您的工作负载使用SSD等快速存储,MyRocks与其他存储引擎相比具有以下优势:

需要更少的存储空间

提供更高的存储耐用性

确保更好的IO容量

安装 Percona MyRocks

  1. 下载安装包

    [root@HDDC-DFNV-L3-Nredis03 peona-server-8.0.32-24]# ll
    total 115764
    -rw-r----- 1 root root 2172240 Mar 10 03:55 percona-icu-data-files-8.0.32-24.1.el7.x86_64.rpm
    -rw-r----- 1 root root 16856148 Mar 10 03:55 percona-server-client-8.0.32-24.1.el7.x86_64.rpm
    -rw-r----- 1 root root 1932780 Mar 10 03:55 percona-server-devel-8.0.32-24.1.el7.x86_64.rpm
    -rw-r----- 1 root root 18054024 Mar 10 03:55 percona-server-rocksdb-8.0.32-24.1.el7.x86_64.rpm
    -rw-r----- 1 root root 76730136 Mar 10 03:55 percona-server-server-8.0.32-24.1.el7.x86_64.rpm
    -rw-r----- 1 root root 1560508 Mar 10 03:55 percona-server-shared-8.0.32-24.1.el7.x86_64.rpm
    -rw-r----- 1 root root 1226512 Mar 10 03:55 percona-server-shared-compat-8.0.32-24.1.el7.x86_64.rpm
  2. 安装os系统包
    yum -y install cmake gcc gcc-c++ ncurses ncurses-devel bison readline-devel jemalloc zlib zlib-devel  valgrind valgrind-devel   net-tools

    3. 初始化  Percona Server for MySQL

 
[root@HDDC-DFNV-L3-Nredis03 percona-server-8.0.32-24]# pwd
/root/percona-server-8.0.32/percona-server-8.0.32-24
[root@HDDC-DFNV-L3-Nredis03 percona-server-8.0.32-24]# ll
total 115764
-rw-r----- 1 root root 2172240 Mar 10 03:55 percona-icu-data-files-8.0.32-24.1.el7.x86_64.rpm
-rw-r----- 1 root root 16856148 Mar 10 03:55 percona-server-client-8.0.32-24.1.el7.x86_64.rpm
-rw-r----- 1 root root 1932780 Mar 10 03:55 percona-server-devel-8.0.32-24.1.el7.x86_64.rpm
-rw-r----- 1 root root 18054024 Mar 10 03:55 percona-server-rocksdb-8.0.32-24.1.el7.x86_64.rpm
-rw-r----- 1 root root 76730136 Mar 10 03:55 percona-server-server-8.0.32-24.1.el7.x86_64.rpm
-rw-r----- 1 root root 1560508 Mar 10 03:55 percona-server-shared-8.0.32-24.1.el7.x86_64.rpm
-rw-r----- 1 root root 1226512 Mar 10 03:55 percona-server-shared-compat-8.0.32-24.1.el7.x86_64.rpm
[root@HDDC-DFNV-L3-Nredis03 percona-server-8.0.32-24]# [root@HDDC-DFNV-L3-Nredis03 percona-server-8.0.32-24]# yum localinstall -y *.rpm Installed:
percona-icu-data-files.x86_64 0:8.0.32-24.1.el7 percona-server-client.x86_64 0:8.0.32-24.1.el7 percona-server-devel.x86_64 0:8.0.32-24.1.el7
percona-server-rocksdb.x86_64 0:8.0.32-24.1.el7 percona-server-server.x86_64 0:8.0.32-24.1.el7 percona-server-shared.x86_64 0:8.0.32-24.1.el7
percona-server-shared-compat.x86_64 0:8.0.32-24.1.el7 Complete!

4.启动mysql 并修改 root 密码

[root@HDDC-DFNV-L3-Nredis03 system]# systemctl start mysqld

mysql日志文件中找到初始的默认密码。接着修改root账户的默认密码:

[root@HDDC-DFNV-L3-Nredis03 system]# cat /var/log/mysqld.log |grep -E "pass"
2023-05-12T02:38:46.620826Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: ,DlCHuMer5fT [root@HDDC-DFNV-L3-Nredis03 system]# mysql -uroot -p',DlCHuMer5fT' -S /var/lib/mysql/mysql.sock
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 9
Server version: 8.0.32-24 Copyright (c) 2009-2023 Percona LLC and/or its affiliates
Copyright (c) 2000, 2023, Oracle and/or its affiliates. Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql> SET PASSWORD FOR root@localhost = '123gsDDDug#dd6';
Query OK, 0 rows affected (0.01 sec)

5. enable-rocksdb 引擎

[root@HDDC-DFNV-L3-Nredis03 ~]# ps-admin --enable-rocksdb -u root -p
Enter password: Checking if RocksDB plugin is available for installation ...
INFO: ha_rocksdb.so library for RocksDB found at /usr/lib64/mysql/plugin/ha_rocksdb.so. Checking RocksDB engine plugin status...
INFO: RocksDB engine plugin is not installed. Installing RocksDB engine...
INFO: Successfully installed RocksDB engine plugin. mysql> show engines;
+--------------------+---------+----------------------------------------------------------------------------+--------------+------+------------+
| Engine | Support | Comment | Transactions | XA | Savepoints |
+--------------------+---------+----------------------------------------------------------------------------+--------------+------+------------+
| ndbcluster | NO | Clustered, fault-tolerant tables | NULL | NULL | NULL |
| FEDERATED | NO | Federated MySQL storage engine | NULL | NULL | NULL |
| PERFORMANCE_SCHEMA | YES | Performance Schema | NO | NO | NO |
| ROCKSDB | YES | RocksDB storage engine | YES | YES | YES |
| InnoDB | DEFAULT | Percona-XtraDB, Supports transactions, row-level locking, and foreign keys | YES | YES | YES |
| MEMORY | YES | Hash based, stored in memory, useful for temporary tables | NO | NO | NO |
| MyISAM | YES | MyISAM storage engine | NO | NO | NO |
| ndbinfo | NO | MySQL Cluster system information storage engine | NULL | NULL | NULL |
| MRG_MYISAM | YES | Collection of identical MyISAM tables | NO | NO | NO |
| BLACKHOLE | YES | /dev/null storage engine (anything you write to it disappears) | NO | NO | NO |
| CSV | YES | CSV storage engine | NO | NO | NO |
| ARCHIVE | YES | Archive storage engine | NO | NO | NO |
+--------------------+---------+----------------------------------------------------------------------------+--------------+------+------------+
12 rows in set (0.02 sec)

6. rocksdb 引擎测试

mysql> create database chongzh;
Query OK, 1 row affected (0.01 sec)
mysql> use chongzh;
Database changed
mysql> create table r1 (id int, foo char(25)) engine=rocksdb;
Query OK, 0 rows affected (0.00 sec)
mysql> insert into r1 (id,foo) values (1,'test'),(2,'wow'),(3,'q');
Query OK, 3 rows affected (0.00 sec)
Records: 3 Duplicates: 0 Warnings: 0
mysql> select * from r1;
+------+------+
| id | foo |
+------+------+
| 1 | test |
| 2 | wow |
| 3 | q |
+------+------+
3 rows in set (0.01 sec)

与InnoDB相比,MyRocks存储引擎缺少以下功能:

Online DDL is not supported due to the lack of atomic DDL support.

ALTER TABLE .. EXCHANGE PARTITION.

SAVEPOINT

Transportable tablespace

Foreign keys

Spatial indexes

Fulltext indexes

Gap locks

Group Replication

Partial Update of LOB in InnoDB

​与InnoDB相比,MyRocks存储引擎​优势:

1. rocksdb压缩率非常高,大约只有innodb的1/3,同时也要比压缩后的innodb小。
2. rocksdb读性能对比innodb还是差不少,但是跟压缩后的innodb相比,某些场景下,还是有一定优势。
3. 写入性能非常优秀。
4. 非常适合写多读少,并且对容量比较敏感的业务场景。
参考:
  • https://docs.percona.com/percona-server/8.0/myrocks/limitations.html

  • https://www.percona.com/software/mysql-database/percona-server

percona-server-rocksdb-8.0.32 安装的更多相关文章

  1. IntraWeb.v14.0.32安装及破解指南

    一.下载 首先从这里下载14.0.32版本的IntraWeb: 链接:http://pan.baidu.com/s/1c0rjnKO 密码:8kv2 二.卸载旧版 1. 我的Delphi版本是XE6, ...

  2. Win server 2012 +IIS8.0下安装SSL证书

    SSL证书的申请: 成功在景安申请证书后,会得到一个有密码的压缩包文件,输入证书密码后解压得到五个文件:for Apache.for IIS.for Ngnix.for Other Server,这个 ...

  3. ubuntu安装Percona Server

    Percona Server是mysql数据库的一个衍生版本,在性能,稳定性和可管理性上都有很大的提升,目前淘宝的mysql数据库就是基于Percona Server,请原谅我这么喜欢研究淘宝的技术. ...

  4. MongoDB4.0.0的安装配置—windows

    一.背景 由于要学习MongoDB,所以就下载了最新的MongoDB 的Community Server版的4.0.0版本.可能是新的版本的缘故,在安装配置上与MongoDB3有许多不同,而且在3中的 ...

  5. percona server 二进制安装下编译tpcc-mysql的坑

    出于习惯,percona server的部署都是通过二进制包自动化安装,结果遇到一个硕大无比的坑,编译TPCC-MySQL时出现警告 10:49:36 root@DB-Master:~/tpcc-my ...

  6. CentOS 7.2 安装配置 Percona Server

    个人比较喜欢 MYSQL 的轻量,今天花了一点时间把阿里云上的 MYSQL5.7 换成了 Percona-Server ,Percona 是一个开源的 MySQL 衍生版.InnoDB的数据库引擎使得 ...

  7. Percona Server 5.6 安装TokuDB

    系统:Red Hat Enterprise Linux Server release 6.3 (Santiago) 数据库:Percona-Server-5.6.29-rel76.2-Linux.x8 ...

  8. mysql 5.7/percona server/mariadb 10.2安装与服务器参数优化

    建议使用percona server linux generic版,从https://www.percona.com/downloads/Percona-Server-LATEST/下载,现在不在推荐 ...

  9. CentOS 7.5 安装与配置 Percona Server 5.7

    个人比较喜欢 MYSQL 的轻量,今天花了一点时间把阿里云上的 MYSQL5.7 换成了 Percona-Server .Percona 是一个开源的 MySQL 衍生版,TokuDB 的数据库引擎使 ...

  10. 如何在 CentOS 7 上安装 Percona Server

    在这篇文章中我们将了解关于 Percona 服务器,一个开源的MySQL,MariaDB的替代品.InnoDB的数据库引擎使得Percona 服务器非常有吸引力,如果你需要的高性能,高可靠性和高性价比 ...

随机推荐

  1. 01-什么是ElasticSearch

    1.什么是搜索? 百度:我们想要查找想要的一些信息比如在百度搜索一本书,一部电影这就是最常见的搜索 但是百度!=搜索 垂直搜索(站内搜索) 互联网的搜索:电商网站,新闻网站,招聘网站,等等 IT系统的 ...

  2. curl: (35) SSL connect error的错误

    1.先升级nss (Network Security Service, 网络安全服务) yum update nss如果没有nss,则需要安装nss服务 yum install nss 2.更新/安装 ...

  3. 使用float进行比较问题处理

    float compare Abstract 使用float数据进行精确计算和比较,可能由于精度问题导致程序逻辑异常. Explanation 使用float数据进行比较,计算机表达double和fl ...

  4. 音视频编解码流程与如何使用 FFMPEG 命令进行音视频处理

    一.前言 FFMPEG 是特别强大的专门用于处理音视频的开源库.你既可以使用它的 API 对音视频进行处理,也可以使用它提供的工具,如 ffmpeg, ffplay, ffprobe,来编辑你的音视频 ...

  5. HTTP 返回状态码403,404,502等不同报错原因及解决思路

    要学会看日志rpm的默认路径 /var/log/nginx/源码的默认路径 安装路径/logs/ 排错思路: 1)服务器启动失败,直接"nginx -t"测试语法   看配置文件是 ...

  6. Centos 6 部署PPTP服务

    前言:PPTP使用一个TCP连接对隧道进行维护,使用通用路由封装(GRE)技术把数据封装成PPP数据桢通过隧道传送.可以对封装PPP桢中的负载数据进行加密或压缩. 注意:PPTP协议已经被IOS系统所 ...

  7. Synchronized和Volatile的对比

    Synchronized和Volatile是并发中的两大关键字,有相似性和不同点. Synchronized更详细介绍参考https://www.cnblogs.com/spark-cc/p/1706 ...

  8. 【LeetCode动态规划#05】背包问题的理论分析(基于代码随想录的个人理解,多图)

    背包问题 问题描述 背包问题是一系列问题的统称,具体包括:01背包.完全背包.多重背包.分组背包等(仅需掌握前两种,后面的为竞赛级题目) 下面来研究01背包 实际上即使是最经典的01背包,也不会直接出 ...

  9. PHP微信三方平台-授权登录

    一.逻辑步骤解析 步骤 1:第三方平台方获取预授权码(pre_auth_code) 步骤 2:引入用户进入授权页 第三方平台方可以在自己的网站中放置"微信公众号授权"或者" ...

  10. active

    rabbitMQ与activeMQ区别 之前的项目中都用到了这两个消息队列 ActiveMq,传统的消息队列,使用Java语言编写.基于JMS(Java Message Service),采用多线程并 ...