How to Enable MyRocks / RocksDB on 5.7.18-16

The release notes show that MyRocks should be available, but I can’t make it work. This is the recommended default my.cnf and the error I got.

[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

RESULTING STARTUP LOGS
[ERROR] unknown option '--rocksdb'

I found an old blog post that recommended that I use

[mysqld]
plugin-load=rocksdb=[URL="http://disq.us/url?url=http%3A%2F%2Fha_rocksdb.so%3AOQXubLds6-BBk8jxYdGP6QLQXS0&cuid=4563557"]ha_rocksdb.so[/URL];rocksdb_cfstats=[URL="http://disq.us/url?url=http%3A%2F%2Fha_rocksdb.so%3AOQXubLds6-BBk8jxYdGP6QLQXS0&cuid=4563557"]ha_rocksdb.so[/URL];rocksdb_dbstats=[URL="http://disq.us/url?url=http%3A%2F%2Fha_rocksdb.so%3AOQXubLds6-BBk8jxYdGP6QLQXS0&cuid=4563557"]ha_rocksdb.so[/URL];rocksdb_perf_context=[URL="http://disq.us/url?url=http%3A%2F%2Fha_rocksdb.so%3AOQXubLds6-BBk8jxYdGP6QLQXS0&cuid=4563557"]ha_rocksdb.so[/URL];rocksdb_perf_context_global=[URL="http://disq.us/url?url=http%3A%2F%2Fha_rocksdb.so%3AOQXubLds6-BBk8jxYdGP6QLQXS0&cuid=4563557"]ha_rocksdb.so[/URL];rocksdb_cf_options=[URL="http://disq.us/url?url=http%3A%2F%2Fha_rocksdb.so%3AOQXubLds6-BBk8jxYdGP6QLQXS0&cuid=4563557"]ha_rocksdb.so[/URL];rocksdb_compaction_stats=[URL="http://disq.us/url?url=http%3A%2F%2Fha_rocksdb.so%3AOQXubLds6-BBk8jxYdGP6QLQXS0&cuid=4563557"]ha_rocksdb.so[/URL];rocksdb_global_info=[URL="http://disq.us/url?url=http%3A%2F%2Fha_rocksdb.so%3AOQXubLds6-BBk8jxYdGP6QLQXS0&cuid=4563557"]ha_rocksdb.so[/URL];rocksdb_ddl=[URL="http://disq.us/url?url=http%3A%2F%2Fha_rocksdb.so%3AOQXubLds6-BBk8jxYdGP6QLQXS0&cuid=4563557"]ha_rocksdb.so[/URL];rocksdb_index_file_map=[URL="http://disq.us/url?url=http%3A%2F%2Fha_rocksdb.so%3AOQXubLds6-BBk8jxYdGP6QLQXS0&cuid=4563557"]ha_rocksdb.so[/URL];rocksdb_locks=[URL="http://disq.us/url?url=http%3A%2F%2Fha_rocksdb.so%3AOQXubLds6-BBk8jxYdGP6QLQXS0&cuid=4563557"]ha_rocksdb.so[/URL];rocksdb_trx=[URL="http://disq.us/url?url=http%3A%2F%2Fha_rocksdb.so%3AOQXubLds6-BBk8jxYdGP6QLQXS0&cuid=4563557"]ha_rocksdb.so[/URL]

RESULTING STARTUP LOGS
[ERROR] Can't open shared library '/usr/lib/mysql/plugin/[URL="http://disq.us/url?url=http%3A%2F%2Fha_rocksdb.so%3AOQXubLds6-BBk8jxYdGP6QLQXS0&cuid=4563557"]ha_rocksdb.so[/URL]' (errno: 0 /usr/lib/mysql/plugin/[URL="http://disq.us/url?url=http%3A%2F%2Fha_rocksdb.so%3AOQXubLds6-BBk8jxYdGP6QLQXS0&cuid=4563557"]ha_rocksdb.so[/URL]: cannot open shared object file: No such file or directory)
[ERROR] Couldn't load plugin named 'rocksdb' with soname '[URL="http://disq.us/url?url=http%3A%2F%2Fha_rocksdb.so%3AOQXubLds6-BBk8jxYdGP6QLQXS0&cuid=4563557"]ha_rocksdb.so[/URL]'.
[ERROR] unknown option '--rocksdb'

How do I run MyRocks? I’m using the latest Docker image, which I have verified to be 5.7.18-16. Do I have to custom compile to get support?

1 Like

MyRocks is not yet released as part of Percona Server, it only exists within the source tree. Experimental binaries/packages and some documentation is planned for 5.7.19 which should be released in a few weeks. It is still highly experimental and not yet suitable for production use.

1 Like

Hi @ranka
From your output

Installing RocksDB engine…
ERROR: Failed to install RocksDB engine plugin. Please check error log.

So please check the logs. and if you have any questions please provide us with the log output

1 Like