Percona-MyRocks

简介

MyRocks是与Facebook开源项目RocksDB集成的MySQL存储引擎。通过提高读取,写入和存储数据的效率,它提供了改进的闪存存储性能。针对快速,低延迟的存储进行了优化,非常适合当今的大容量,写密集型应用,例如数据聚合,IoT,交易记录,系统监控,支付处理和计费系统。MyRocks需要更少的SSD存储空间,提供更多的存储耐用性,并确保更好的IO容量。

MyRocks引擎没有单独的二进制发行版,Percona将MyRocks集成到了Percona发行版的MySQL中。

规划

IP 系统版本 数据库版本
192.168.240.40 CentOS7.6 Percona-Server-8.0.21-12-Linux.x86_64.glibc2.12-minimal

Percona-Server二进制安装包下载地址:https://www.percona.com/downloads/Percona-Server-LATEST/, 安装方式为二进制包安装方式。

安装Percona-Server-8.0.21-12

将二进制安装包上传到/usr/local/src目录下

cd /usr/local/src
tar xf Percona-Server-8.0.21-12-Linux.x86_64.glibc2.12-minimal.tar.gz
mv Percona-Server-8.0.21-12-Linux.x86_64.glibc2.12-minimal /usr/local/Percona-Server-8.0.21-12
echo 'export  PATH=/usr/local/Percona-Server-8.0.21-12/bin:$PATH' >> /etc/profile
. /etc/profile

创建目录结构(所有节点)

useradd -M -s /sbin/nologin  mysql
mkdir -pv  /datadir/{temp,log,data}
touch /datadir/log/err.log
chown -R mysql:mysql /datadir

初始化数据库(所有节点)

mysqld --initialize-insecure --datadir=/datadir/data --user=mysql
chown -R mysql:mysql /datadir

修改配置文件(所有节点)

[mysqld]
basedir=/usr/local/Percona-Server-8.0.21-12/
user=mysql
port=3306
mysqlx_port=33060
datadir=/datadir/data
log-error=/datadir/log/err.log
pid-file=/datadir/temp/mysqld.pid
socket=/datadir/temp/mysqld.sock
mysqlx_socket=/datadir/temp/mysqlx.sock
symbolic-links=0
server_id=40
gtid-mode=on
enforce-gtid-consistency=true
skip_ssl
log_bin=/datadir/log/binlog
binlog_format=ROW# 参考https://www.percona.com/blog/2018/04/30/a-look-at-myrocks-performance/文档
# 请根据实际情况进行调整,非固定
rocksdb_max_open_files=-1
rocksdb_max_background_jobs=8
rocksdb_max_total_wal_size=4G
rocksdb_block_size=16384
rocksdb_table_cache_numshardbits=6# rate limiter
rocksdb_bytes_per_sync=16777216
rocksdb_wal_bytes_per_sync=4194304rocksdb_compaction_sequential_deletes_count_sd=1
rocksdb_compaction_sequential_deletes=199999
rocksdb_compaction_sequential_deletes_window=200000rocksdb_default_cf_options="write_buffer_size=256m;target_file_size_base=32m;max_bytes_for_level_base=512m;max_write_buffer_number=4;level0_file_num_compaction_trigger=4;level0_slowdown_writes_trigger=20;level0_stop_writes_trigger=30;max_write_buffer_number=4;block_based_table_factory={cache_index_and_filter_blocks=1;filter_policy=bloomfilter:10:false;whole_key_filtering=0};level_compaction_dynamic_level_bytes=true;optimize_filters_for_hits=true;memtable_prefix_bloom_size_ratio=0.05;prefix_extractor=capped:12;compaction_pri=kMinOverlappingRatio;compression=kLZ4Compression;bottommost_compression=kLZ4Compression;compression_opts=-14:4:0"
rocksdb_max_subcompactions=4
rocksdb_compaction_readahead_size=16mrocksdb_use_direct_reads=ON
rocksdb_use_direct_io_for_flush_and_compaction=ON[client]
socket=/datadir/temp/mysqld.sock

只需要修改server_id这一项即可(保证所有MySQL服务器都不同)

启动数据库

mysqld_safe  --defaults-file=/etc/my.cnf --daemonize

开启MyRocks存储引擎

# ps-admin --enable-rocksdb -uroot -h127.0.0.1 -P3306
Checking if RocksDB plugin is available for installation ...
INFO: ha_rocksdb.so library for RocksDB found at /usr/local/Percona-Server-8.0.21-12/lib/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.

查看MyRocks存储引擎是否安装成功

# mysql -uroot -h127.1 -e "show plugins"
+---------------------------------+----------+--------------------+---------------+---------+
| Name                            | Status   | Type               | Library       | License |
+---------------------------------+----------+--------------------+---------------+---------+
.....
| ROCKSDB                         | ACTIVE   | STORAGE ENGINE     | ha_rocksdb.so | GPL     |
| ROCKSDB_CFSTATS                 | ACTIVE   | INFORMATION SCHEMA | ha_rocksdb.so | GPL     |
| ROCKSDB_DBSTATS                 | ACTIVE   | INFORMATION SCHEMA | ha_rocksdb.so | GPL     |
| ROCKSDB_PERF_CONTEXT            | ACTIVE   | INFORMATION SCHEMA | ha_rocksdb.so | GPL     |
| ROCKSDB_PERF_CONTEXT_GLOBAL     | ACTIVE   | INFORMATION SCHEMA | ha_rocksdb.so | GPL     |
| ROCKSDB_CF_OPTIONS              | ACTIVE   | INFORMATION SCHEMA | ha_rocksdb.so | GPL     |
| ROCKSDB_GLOBAL_INFO             | ACTIVE   | INFORMATION SCHEMA | ha_rocksdb.so | GPL     |
| ROCKSDB_COMPACTION_STATS        | ACTIVE   | INFORMATION SCHEMA | ha_rocksdb.so | GPL     |
| ROCKSDB_DDL                     | ACTIVE   | INFORMATION SCHEMA | ha_rocksdb.so | GPL     |
| ROCKSDB_INDEX_FILE_MAP          | ACTIVE   | INFORMATION SCHEMA | ha_rocksdb.so | GPL     |
| ROCKSDB_LOCKS                   | ACTIVE   | INFORMATION SCHEMA | ha_rocksdb.so | GPL     |
| ROCKSDB_TRX                     | ACTIVE   | INFORMATION SCHEMA | ha_rocksdb.so | GPL     |
| ROCKSDB_DEADLOCK                | ACTIVE   | INFORMATION SCHEMA | ha_rocksdb.so | GPL     |
+---------------------------------+----------+--------------------+---------------+---------+

输出上述信息时表示安装MyRocks存储引擎安装成功。

测试

mysql> DROP DATABASE IF EXISTS t1;
Query OK, 1 row affected (0.09 sec)mysql> CREATE DATABASE t1;
Query OK, 1 row affected (0.00 sec)mysql>  CREATE TABLE t1.t1(id int primary key ,name varchar(20)) engine=rocksdb;
Query OK, 0 rows affected (0.00 sec)mysql> insert into t1.t1(id,name) values(1,'li');
Query OK, 1 row affected (0.02 sec)mysql> select * from t1.t1;
+----+------+
| id | name |
+----+------+
|  1 | li   |
+----+------+
1 row in set (0.00 sec)mysql> show create table t1.t1\G
*************************** 1. row ***************************Table: t1
Create Table: CREATE TABLE `t1` (`id` int NOT NULL,`name` varchar(20) DEFAULT NULL,PRIMARY KEY (`id`)
) ENGINE=ROCKSDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci
1 row in set (0.00 sec)

参考文档

  • MyRocks官方文档:http://myrocks.io/
  • percona-server官方文档:https://www.percona.com/software/mysql-database/percona-server
  • 调优文档参考:https://www.percona.com/blog/2018/04/30/a-look-at-myrocks-performance/

Percona-MyRocks安装相关推荐

  1. percona的安装、启动、停止

    版权声明:本文为博主原创文章,未经博主允许不得转载. http://blog.csdn.net/tanliqing2010/article/details/78758878 0 前言 1 percon ...

  2. MySQL备份Percona Xtrabackup安装和卸载

    MySQL备份Percona Xtrabackup安装和卸载 Percona XtraBackup 安装介绍篇 XtraBackup介绍 XtraBackup是Percona公司的开源项目,用以实现类 ...

  3. percona mysql安装_mysql 安装 (percona)

    mysql被oracle收购后,我对mysql的好感降低很多. 而且官方版本的mysql性能也...大家都懂的 所以我使用了mysql的一个分支-percona,具体介绍请参考http://www.p ...

  4. Percona XtraBackup 安装介绍篇

    XtraBackup介绍 XtraBackup是Percona公司的开源项目,用以实现类似Innodb官方的热备份工具InnoDB Hot Backup的功能,它支持在线热备份(备份时不影响数据读写) ...

  5. Percona Toolkit安装

    TIPS 本文基于Percona Toolkit 3.2.0,理论支持所有版本. Percona Toolkit是一款MySQL世界里面非常实用的工具套件,本文来探讨如何安装它. 工具列表 pt-al ...

  6. Percona Server 安装

    安装配置参数 [root@monser Percona-Server-5.5.34-rel32.0]# cmake . -DCMAKE_INSTALL_PREFIX=/service/mysql -D ...

  7. Percona Xtrabackup安装

    一.Xtrabackup介绍 A.Xtrabackup是什么 Xtrabackup是一个数据备份的工具,支持在线热备份(备份时不影响数据读写),是商业备份工具InnoDBHotbackup的一个很好的 ...

  8. mysql percona yum_yum 安装percona mysql 5.7

    Mysql5.7安装准备 1.基础信息: (1)可参考官方文档[https://www.percona.com/doc/percona-server/5.7/installation/yum_repo ...

  9. percona mysql 安装_MySQL-percona安装

    1. percona-toolkit工具部署 1.1 下载文件 1.2 安装 # 安装依赖系统包 yum -y install perl-ExtUtils-MakeMaker perl-DBI per ...

  10. mysql启动startpost_(转)percona的安装、启动、停止

    原文:https://blog.csdn.net/tanliqing2010/article/details/78758878 socket=/percona/3307/data/mysql.sock ...

最新文章

  1. 直播预告 | 对话杨立昆:人,机器与未来
  2. Linux中的进程创建函数fork
  3. 如何解决SVN Commit failed (details follow): Access denied
  4. 主流开源开发者工具落地阿里云,进一步提升开发者体验
  5. Micsorft文档阅读笔记-Run-Time Type Information解析及使用
  6. C#LeetCode刷题之#112-路径总和​​​​​​​(Path Sum)
  7. Facebook 又摊上事了,数亿用户被波及!
  8. 控制台应用程序中Main函数的args参数
  9. File Cabinet Pro for Mac(菜单栏快捷文件管理软件)
  10. 计算机代数与数论pdf,计算机代数与数论.pdf
  11. 关于EasyExcel 优化,实现格式自定义,数据字典自动转化。
  12. 为什么恢复后的文件打不开?U盘数据恢复常见问题
  13. Ubuntu18.04 用一条命令 快速安装 FBReader
  14. hadoop2提交到Yarn: Mapreduce执行过程分析1
  15. 404常见的几种错误原因
  16. 使用Spreadsheet操作Excel
  17. Vue进阶(幺肆捌):Vuex 辅助函数详解
  18. 【免费认证】Juniper免费认证指南
  19. Python实现AI变脸
  20. 获取手机的流量信息 /proc/pid/net/dev

热门文章

  1. 【推荐】智慧检察公益诉讼辅助快检AI人工智能大数据平台解决方案合集(共183份,928M)
  2. xadmin界面美化
  3. 一文读懂身份证ocr识别
  4. 机器学习和数据科学从业者必读的10本免费英文书
  5. NVIDIA JETSON TX1刷机重装系统笔记
  6. 人体的矢状面,冠状面,以及水平面,你懂吗?
  7. 安装IE,出现“无法安装ie,因为其他程序或更新正在等待重新启动计算机。”解决方法。
  8. 数据库生成日然周、自然月、自然日
  9. 数字图像处理第五次作业——频域滤波器
  10. 如何利用java给女友小惊喜_程序员送女友惊喜程序小妙招