Not the answer you need?
Register and ask your own question!

Docker, Percona 8.0, RocksDB on Mac

EricPetersonEricPeterson EntrantCurrent User Role Novice
On a mac (latest system updates). I'm attempting to make a docker image of Percona using RocksDB.

I do the following and things work fine. I can see from that rocksdb is installed and later log in it is there. But it is not the default.

docker run \
--name=PURPLE_01 \
--hostname PURPLE_01 \
--restart always \
--publish 9399:3306 \
--env INIT_ROCKSDB=yes \
--env MYSQL_ROOT_PASSWORD=Eric1 \
--network=mysql1 \
--label="org.opencontainers.image.authors"="Eric D Peterson" \
--label="org.opencontainers.image.description"="Percona with RocksDB engine DB Instance" \
--mount type=bind,source=/var/mysql/8.0/PURPLE_01/data,target=/var/lib/mysql,consistency=consistent \
--detach percona:latest


I attempt to mount the my.cnf file from my host filesystem into this new image: i.e.:

docker run \
--name=PURPLE_01 \
--hostname PURPLE_01 \
--restart always \
--publish 9399:3306 \
--env INIT_ROCKSDB=yes \
--env MYSQL_ROOT_PASSWORD=Eric1 \
--network=mysql1 \
--label="org.opencontainers.image.authors"="Eric D Peterson" \
--label="org.opencontainers.image.description"="Percona with RocksDB engine DB Instance" \
--mount type=bind,source=/var/mysql/8.0/PURPLE_01/my.cnf,target=/etc/my.cnf,consistency=consistent \
--mount type=bind,source=/var/mysql/8.0/PURPLE_01/data,target=/var/lib/mysql,consistency=consistent \
--detach percona:latest

With a simple set of values. I want to eventually play with other values to see how they work and interact with each other.


server_id = 9399
skip-host-cache
skip-name-resolve
datadir = /var/lib/mysql
socket = /var/lib/mysql/mysql.sock

# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links = 0

log-error = error_PURPLE_01.log
pid-file = /var/run/mysqld/mysqld.pid

rocksdb
federated
default-storage-engine = rocksdb
allow-multiple-engines
default-tmp-storage-engine = InnoDB

character-set-server = utf8mb4
collation-server = utf8mb4_bin
init_connect = 'SET NAMES utf8mb4'

log-bin
binlog-format = ROW


I then end up with:

ERROR: mysqld failed while attempting to check config
command was: "mysqld --verbose --help"

2019-12-12T05:01:39.611071Z 0 [ERROR] unknown option '--rocksdb'
2019-12-12T05:01:39.614240Z 0 [ERROR] Aborting


To me, it looks like I can *not* have a pre-existing my.cnf on the docker's host file system. I can have the default created my.cnf in the docker image but it won't have the values I want or can change from the host.

Any ideas on how to progress? Am i using the docker --mount settings incorrectly? Is this even possible? is the order of starting up a new docker image different if there is a my.cnf file or not? I am able to get this to work with mysql and percona without RocksDB.


Thanks
Eric
Sign In or Register to comment.

MySQL, InnoDB, MariaDB and MongoDB are trademarks of their respective owners.
Copyright ©2005 - 2020 Percona LLC. All rights reserved.