MyRocks_zh_doc

MyRocks入门

下载 FaceBook MySQL 5.6

有关如何构建说明,请查阅 0.构建步骤

配置 my.cnf

开启 RocksDB 存储引擎(MyRocks),你至少需要设置一下参数在my.cnf配置文件中

[mysqld]
rocksdb
default-storage-engine=rocksdb
skip-innodb
default-tmp-storage-engine=MyISAM
collation-server=latin1_bin #(or utf8_bin, binary)

log-bin
binlog-format=ROW

如果你想在相同的实例中同时使用InnoDB存储引擎和MyRocks存储引擎,需要在my.cnf中设置allow-multiple-engines参数 以及 删除skip-innodb参数。 使用混合存储引擎不建议在生产环境下使用。因为它不是真正的事务型,但是它可以用户实验的目的。 复制模式下,Slave节点的binlog记录是Statement模式是被允许的,但不能是Master。这是因为MyRocks 不支持next-key锁。

此外,您可能需要设置一下某些设置:

datadir=<location_for_data_files>
socket=<socket_file>
port=<port>
sql_mode=<mode1>[,<mode2>]

注意: 这不是详细的配置列表,请参阅 my.cnf tuning调整和server variables信息以获取更多详细信息。

使用 mysql_install_db 初始化数据库

mysql_install_db --defaults-file=/path/to/my.cnf

开启mysqld进程

mysqld_safe --defaults-file=/path/to/my.cnf

创建一个 RocksDB 的表结构

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=latin1_bin;

这个例子显示了MyRocks中的一些重要功能和限制,有关限制的更多信息,请阅读 4.MyRocks限制

COMMENT解释 与 关键定义相关的定义