All Projects → wodby → mariadb

wodby / mariadb

Licence: GPL-2.0 license
MariaDB docker container image

Programming Languages

shell
77523 projects
Dockerfile
14818 projects
Makefile
30231 projects

Projects that are alternatives of or similar to mariadb

Docker Mariadb Alpine
[DEPRECATED] Lightweight MariaDB docker image with Alpine Linux.
Stars: ✭ 38 (-9.52%)
Mutual labels:  alpine, mariadb
mmb
Set of Dockerfiles and assets related to them for building Docker images with different services
Stars: ✭ 34 (-19.05%)
Mutual labels:  alpine, mariadb
Alpine Mariadb
MariaDB running on Alpine Linux [Docker]
Stars: ✭ 117 (+178.57%)
Mutual labels:  alpine, mariadb
Endoflife.date
Informative site with EoL dates of everything
Stars: ✭ 296 (+604.76%)
Mutual labels:  alpine, mariadb
mailbox
📨 簡易電子報發送系統,使用 #Golang 實作,send campaign mail with open, click tracker.
Stars: ✭ 26 (-38.1%)
Mutual labels:  alpine, mariadb
yii2-mariadb
MariaDB Driver for Yii2
Stars: ✭ 24 (-42.86%)
Mutual labels:  mariadb
docker-alpine
Minimal Alpine with working init process
Stars: ✭ 21 (-50%)
Mutual labels:  alpine
varnish
Varnish docker container image
Stars: ✭ 55 (+30.95%)
Mutual labels:  alpine
wnmp-dev
Development environment: Windows + nginx + MySQL + PHP
Stars: ✭ 52 (+23.81%)
Mutual labels:  mariadb
docker-php-alpine
minimal (ish) php images in alpine
Stars: ✭ 29 (-30.95%)
Mutual labels:  alpine
Dockerfiles
These are Dockerfiles I've created for programs without official docker image.
Stars: ✭ 24 (-42.86%)
Mutual labels:  alpine
docker-dind-awscli
A Docker image for Docker-in-Docker (dind) with AWS CLI v2 awscli tool included
Stars: ✭ 36 (-14.29%)
Mutual labels:  alpine
go-graphkb
A Graph-oriented Knowledge Base written in Go
Stars: ✭ 25 (-40.48%)
Mutual labels:  mariadb
db-doc
📝一款生成在线/离线数据库文档的小工具
Stars: ✭ 98 (+133.33%)
Mutual labels:  mariadb
docker-freescout
Dockerized Freescout Helpdesk
Stars: ✭ 92 (+119.05%)
Mutual labels:  alpine
ansible-role-phpmyadmin
Ansible Role - phpMyAdmin
Stars: ✭ 40 (-4.76%)
Mutual labels:  mariadb
datastation
App to easily query, script, and visualize data from every database, file, and API.
Stars: ✭ 2,519 (+5897.62%)
Mutual labels:  mariadb
headless-chrome-alpine
A Docker container running headless Chrome
Stars: ✭ 26 (-38.1%)
Mutual labels:  alpine
ansible-role-mysql
An Ansible role that installs MySQL or MariaDB
Stars: ✭ 20 (-52.38%)
Mutual labels:  mariadb
alpine-xmrig
XMRig miner in an Alpine Linux Docker image.
Stars: ✭ 35 (-16.67%)
Mutual labels:  alpine

MariaDB Docker Container Image

Build Status Docker Pulls Docker Stars

Docker Images

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:

Supported tags and respective Dockerfile links:

Credits to Alpine Linux team for patches for better musl compatibility of MariaDB. Patches taken from Alpine's packages repository.

All images built for linux/amd64

Environment Variables

Variable 10.8, 10.7, 10.6, 10.5 10.4 10.3
MARIADB_PLUGIN_LOAD
MARIADB_SSL_CERT
MARIADB_SSL_KEY
MARIADB_SSL_CA
MARIADB_TLS_VERSION TLSv1.2,TLSv1.3 TLSv1.2,TLSv1.3
MYSQL_BACK_LOG 100 100 100
MYSQL_CHARACTER_SET_FILESYSTEM binary binary utf8
MYSQL_CHARACTER_SET_SERVER utf8mb4 utf8mb4 utf8
MYSQL_CLIENT_DEFAULT_CHARACTER_SET utf8mb4 utf8mb4 utf8
MYSQL_COLLATION_SERVER utf8mb4_unicode_ci utf8mb4_unicode_ci utf8_unicode_ci
MYSQL_CONNECT_TIMEOUT 10 10 10
MYSQL_DATABASE
MYSQL_DEFAULT_STORAGE_ENGINE InnoDB InnoDB InnoDB
MYSQL_DUMP_MAX_ALLOWED_PACKET 1G 1G 1G
MYSQL_GENERAL_LOG 1 1 1
MYSQL_INIT_CONNECT SET NAMES utf8 SET NAMES utf8 SET NAMES utf8
MYSQL_INNODB_BUFFER_POOL_INSTANCES - 1 1
MYSQL_INNODB_BUFFER_POOL_SIZE 128M 128M 128M
MYSQL_INNODB_DEFAULT_ROW_FORMAT dynamic dynamic dynamic
MYSQL_INNODB_FAST_SHUTDOWN 1 1 1
MYSQL_INNODB_FILE_FORMAT - - -
MYSQL_INNODB_FILE_PER_TABLE 1 1 1
MYSQL_INNODB_FLUSH_LOG_AT_TRX_COMMIT 2 2 2
MYSQL_INNODB_FLUSH_METHOD O_DIRECT O_DIRECT O_DIRECT
MYSQL_INNODB_FORCE_LOAD_CORRUPTED 0 0 0
MYSQL_INNODB_FORCE_RECOVERY 0 0 0
MYSQL_INNODB_IO_CAPACITY 200 200 200
MYSQL_INNODB_LARGE_PREFIX - - -
MYSQL_INNODB_LOCK_WAIT_TIMEOUT 50 50 50
MYSQL_INNODB_LOG_BUFFER_SIZE 8M 8M 8M
MYSQL_INNODB_LOG_FILE_SIZE 128M 128M 128M
MYSQL_INNODB_LOG_FILES_IN_GROUP - 2 2
MYSQL_INNODB_OLD_BLOCKS_TIME 1000 1000 1000
MYSQL_INNODB_OPEN_FILES
MYSQL_INNODB_PURGE_THREADS 4 4 4
MYSQL_INNODB_READ_IO_THREADS 4 4 4
MYSQL_INNODB_STATS_ON_METADATA OFF OFF OFF
MYSQL_INNODB_STRICT_MODE OFF OFF OFF
MYSQL_INNODB_WRITE_IO_THREADS 4 4 4
MYSQL_INTERACTIVE_TIMEOUT 420 420 420
MYSQL_JOIN_BUFFER_SIZE
MYSQL_JOIN_BUFFER_SPACE_LIMIT
MYSQL_LOG_WARNINGS 2 2 2
MYSQL_LONG_QUERY_TIME 2 2 2
MYSQL_LOWER_CASE_TABLE_NAMES
MYSQL_MAX_ALLOWED_PACKET 256M 256M 256M
MYSQL_MAX_CONNECT_ERRORS 100000 100000 100000
MYSQL_MAX_CONNECTIONS 50 50 50
MYSQL_MAX_HEAP_TABLE_SIZE 16M 16M 16M
MYSQL_NET_READ_TIMEOUT 90 90 90
MYSQL_NET_WRITE_TIMEOUT 90 90 90
MYSQL_OPEN_FILES_LIMIT 0 0 0
MYSQL_OPTIMIZER_PRUNE_LEVEL 1 1 1
MYSQL_OPTIMIZER_SEARCH_DEPTH 62 62 62
MYSQL_OPTIMIZER_SWITCH
MYSQL_PASSWORD
MYSQL_PERFORMANCE_SCHEMA OFF OFF OFF
MYSQL_PORT 3306 3306 3306
MYSQL_QUERY_CACHE_LIMIT 1M 1M 1M
MYSQL_QUERY_CACHE_MIN_RES_UNIT 2K 2K 2K
MYSQL_QUERY_CACHE_SIZE 1M 1M 1M
MYSQL_QUERY_CACHE_TYPE OFF OFF OFF
MYSQL_RELAY_LOG_RECOVERY 0 0 0
MYSQL_ROOT_PASSWORD
MYSQL_SLOW_QUERY_LOG 0 0 0
MYSQL_SORT_BUFFER_SIZE 2M 2M 2M
MYSQL_TABLE_DEFINITION_CACHE 400 400 400
MYSQL_TABLE_OPEN_CACHE 4096 4096 4096
MYSQL_THREAD_CACHE_SIZE 75 75 75
MYSQL_TMP_TABLE_SIZE 16M 16M 16M
MYSQL_USER
MYSQL_WAIT_TIMEOUT 420 420 420
MYSQL_TRANSACTION_ISOLATION REPEATABLE-READ REPEATABLE-READ REPEATABLE-READ

"-" - Not available for this version

Additional environment variables

MYSQL_INNODB_DATA_FILE_PATH:

Default value for all versions:

ibdata1:10M:autoextend:max:10G"

Additional Galera environment variables

Variable Value
WSREP_ON OFF
MYSQL_INNODB_FLUSH_LOG_AT_TRX_COMMIT 0
WSREP_AUTO_INCREMENT_CONTROL ON
WSREP_CERTIFICATION_RULES strict
WSREP_CERTIFY_NONPK ON
WSREP_CLUSTER_ADDRESS
WSREP_CLUSTER_NAME my_wsrep_cluster
WSREP_CONVERT_LOCK_TO_TRX OFF
WSREP_DATA_HOME_DIR
WSREP_DBUG_OPTION
WSREP_DEBUG NONE
WSREP_DESYNC OFF
WSREP_DIRTY_READS OFF
WSREP_DRUPAL_282555_WORKAROUND OFF
WSREP_FORCED_BINLOG_FORMAT NONE
WSREP_GTID_DOMAIN_ID 0
WSREP_GTID_MODE OFF
WSREP_IGNORE_APPLY_ERRORS 0
WSREP_LOAD_DATA_SPLITTING OFF
WSREP_LOG_CONFLICTS OFF
WSREP_MAX_WS_ROWS 0
WSREP_MAX_WS_SIZE 2G
WSREP_MYSQL_REPLICATION_BUNDLE 0
WSREP_NODE_ADDRESS 0.0.0.0
WSREP_NODE_INCOMING_ADDRESS AUTO
WSREP_NODE_NAME
WSREP_NOTIFY_CMD
WSREP_OSU_METHOD TOI
WSREP_PROVIDER_OPTIONS
WSREP_RECOVER OFF
WSREP_REJECT_QUERIES NONE
WSREP_REPLICATE_MYISAM OFF
WSREP_RESTART_SLAVE OFF
WSREP_RETRY_AUTOCOMMIT 1
WSREP_SLAVE_FK_CHECKS ON
WSREP_SLAVE_THREADS 1
WSREP_SLAVE_UK_CHECKS OFF
WSREP_SR_STORE table
WSREP_SST_AUTH
WSREP_SST_DONOR
WSREP_SST_DONOR_REJECTS_QUERIES OFF
WSREP_SST_METHOD rsync
WSREP_RECEIVE_ADDRESS AUTO
WSREP_START_POSITION
WSREP_SYNC_WAIT 0
WSREP_TRX_FRAGMENT_SIZE 0
WSREP_TRX_FRAGMENT_UNIT bytes
Galera Config Directive Override
-------------------------- --------
binlog_format ROW
default_storage_engine InnoDB
innodb_autoinc_lock_mode 2

Galera Cluster

Galera Cluster Documentation

In-depth documentation about Galera would be too lengthy for this README file. Instead, refer to these authoritative documentation sources:

When these sources disagree (for example, wsrep options/system vars are slightly different), favor MariaDB's documentation over Codership's.

Galera-specific MariaDB configuration

You must set the WSREP_ON environment variable if you want the container's /etc/mysql/my.cnf to include Galera/wsrep specific configuration settings.

Bootstrapping a Galera Cluster

When starting a new cluster, the first node must bootstrap the cluster:

$ docker run -e WSREP_ON=ON -v data1:/var/lib/mysql --name galera-1 \
    wodby/mariadb:galera --wsrep-new-cluster

When the first node is ready, the other nodes can join it (via its hostname or IP) and participate in the cluster:

$ docker run -e WSREP_ON=ON -v data2:/var/lib/mysql --name galera-2 \
    wodby/mariadb:galera --wsrep-cluster-address="gcomm://<node-1>"
$ docker run -e WSREP_ON=ON -v data3:/var/lib/mysql --name galera-3 \
    wodby/mariadb:galera --wsrep-cluster-address="gcomm://<node-1>,<node-2>"

After the other nodes have joined the first, you should terminate the first container and docker run a new container without the --wsrep-new-cluster and join the other nodes. This is to prevent cluster re-bootstrap if the bootstrap container (or the host it's on) ever decided to restart.

You may also want to restart the second node with a --wsrep-cluster-address=gcomm://<node-1>,<node-3>, or if you know all three node hostnames or IPs ahead of time, you can use gcomm://<node-1>,<node-2>,<node-3> for all node containers.

Using Galera Arbitrator Daemon for Small/Even Clusters

For Galera clustering to work properly, it requires a quorum of nodes to agree on pending commits.

Although a one-node cluster is possible (it will always agree with itself), the minimum number of "voters" to achieve quorum is 3. A two-node cluster is possible, but you must add a Galera Arbitrator Daemon (aka garbd) as add a third voter. In general, it's a good idea to use garbd for clusters with even numbers of nodes, to provide a tie-breaking vote in case half of the nodes agree and the other half disagree.

The galera-tagged images also include garbd, which can be run instead of mariadb.

$ docker run wodby/mariadb:galera garbd --help
Usage: garbd [options] [group address]
[...]

Refer to the documentation for configuration details.

Orchestration Actions

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]
    create-db name [charset collation]
    drop-db name
    create-user username password
    drop-user username
    grant-user-db username db
    revoke-user-db username 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 ""

Deployment

Deploy MariaDB to your own server via Wodby Wodby.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].