❗Known issue with bind mounts on macOS and Windows
Latest MariaDB will fail to start on macOS and Windows with Probably out of disk space
if you use bind mounts (volumes mounted from host). This (likely) happens because of recent changes in InnoDB, this bug addressed in MariaDB JIRA.
Solutions:
- Use MariaDB 10.1 with stability tag 3.2.1 or higher
- Not to use bind mounts, let docker manage volumes, since docker-ce 17.06 it won't clean up your volumes with
docker system prune
unless you specify--volumes
flag
❗For better reliability we release images with stability tags (wodby/mariadb:10.4-X.X.X
) which correspond to git tags. We strongly recommend using images only with stability tags.
Overview:
- All images are based on Alpine Linux
- Base image: wodby/alpine
- CircleCI builds
- Docker Hub
Supported tags and respective Dockerfile
links:
10.4
,10
,latest
(Dockerfile)10.3
(Dockerfile)10.2
(Dockerfile)10.1
(Dockerfile)
Credits to Alpine Linux team for patches for better musl compatibility of MariaDB. Patches taken from Alpine's packages repository.
"-" - Not available for this version
Default value for all versions:
ibdata1:10M:autoextend:max:10G"
Decrease the value of MYSQL_OPTIMIZER_SEARCH_DEPTH
to 7-8 if you have many queries with more than 15 tables (source)
Run the following query to get the recommend innodb buffer pool size:
SELECT CONCAT(CEILING(RIBPS/POWER(1024,pw)),SUBSTR(' KMGT',pw+1,1))
Recommended_InnoDB_Buffer_Pool_Size FROM
(
SELECT RIBPS,FLOOR(LOG(RIBPS)/LOG(1024)) pw
FROM
(
SELECT SUM(data_length+index_length)*1.1*growth RIBPS
FROM information_schema.tables AAA,
(SELECT 1.25 growth) BBB
WHERE ENGINE='InnoDB'
) AA
) A;
Source: from stack exchange.
Usage:
make COMMAND [params ...]
commands:
import source=</path/to/dump.zip or http://example.com/url/to/dump.sql.gz> [db root_password host ignore="table1;table2;cache_%"]
backup filepath=</path/to/backup.sql.gz> [root_password host db]
query query [db user password host]
query-silent query [db user password host]
query-root query [db root_password host]
check-ready [root_password host max_try wait_seconds]
mysql-upgrade [root_password host]
mysql-check [root_password host db]
default params values:
user $MYSQL_USER
password $MYSQL_PASSWORD
db $MYSQL_DATABASE
root_password $MYSQL_ROOT_PASSWORD
host localhost
max_try 1
wait_seconds 1
ignore ""
Deploy MariaDB to your own server via Wodby.