-
-
Save w0rldart/aa472db45c3817d937a1870a32f77820 to your computer and use it in GitHub Desktop.
version: '3.1' | |
services: | |
db: | |
image: mariadb | |
restart: always | |
command: mysqld --character-set-server=utf8 --collation-server=utf8_unicode_ci --init-connect='SET NAMES UTF8;' --innodb-flush-log-at-trx-commit=0 | |
ports: | |
- 3306:3306 | |
environment: | |
- MYSQL_ROOT_PASSWORD=example | |
- MYSQL_DATABASE=test | |
- MYSQL_USER=testuser | |
- MYSQL_PASSWORD=testpassword |
does not work for me
2024-09-02 09:01:44+00:00 [Note] [Entrypoint]: Entrypoint script for MariaDB Server 1:11.5.2+maria~ubu2404 started.
2024-09-02 09:01:44+00:00 [ERROR] [Entrypoint]: mariadbd failed while attempting to check config
command was: mysqld --character-set-server=utf8 --collation-server=utf8_unicode_ci --init-connect=SET NAMES UTF8; --innodb-flush-log-at-trx-commit=0 --verbose --help
/usr/local/bin/docker-entrypoint.sh: line 105: mysqld: command not found
2024-09-02 09:01:45+00:00 [Note] [Entrypoint]: Entrypoint script for MariaDB Server 1:11.5.2+maria~ubu2404 started.
2024-09-02 09:01:45+00:00 [ERROR] [Entrypoint]: mariadbd failed while attempting to check config
command was: mysqld --character-set-server=utf8 --collation-server=utf8_unicode_ci --init-connect=SET NAMES UTF8; --innodb-flush-log-at-trx-commit=0 --verbose --help
/usr/local/bin/docker-entrypoint.sh: line 105: mysqld: command not found
2024-09-02 09:01:46+00:00 [Note] [Entrypoint]: Entrypoint script for MariaDB Server 1:11.5.2+maria~ubu2404 started.
2024-09-02 09:01:46+00:00 [ERROR] [Entrypoint]: mariadbd failed while attempting to check config
command was: mysqld --character-set-server=utf8 --collation-server=utf8_unicode_ci --init-connect=SET NAMES UTF8; --innodb-flush-log-at-trx-commit=0 --verbose --help
/usr/local/bin/docker-entrypoint.sh: line 105: mysqld: command not found
2024-09-02 09:01:47+00:00 [Note] [Entrypoint]: Entrypoint script for MariaDB Server 1:11.5.2+maria~ubu2404 started.
2024-09-02 09:01:47+00:00 [ERROR] [Entrypoint]: mariadbd failed while attempting to check config
command was: mysqld --character-set-server=utf8 --collation-server=utf8_unicode_ci --init-connect=SET NAMES UTF8; --innodb-flush-log-at-trx-commit=0 --verbose --help
/usr/local/bin/docker-entrypoint.sh: line 105: mysqld: command not found
2024-09-02 09:01:48+00:00 [Note] [Entrypoint]: Entrypoint script for MariaDB Server 1:11.5.2+maria~ubu2404 started.
2024-09-02 09:01:48+00:00 [ERROR] [Entrypoint]: mariadbd failed while attempting to check config
command was: mysqld --character-set-server=utf8 --collation-server=utf8_unicode_ci --init-connect=SET NAMES UTF8; --innodb-flush-log-at-trx-commit=0 --verbose --help
/usr/local/bin/docker-entrypoint.sh: line 105: mysqld: command not found
2024-09-02 09:01:50+00:00 [Note] [Entrypoint]: Entrypoint script for MariaDB Server 1:11.5.2+maria~ubu2404 started.
2024-09-02 09:01:50+00:00 [ERROR] [Entrypoint]: mariadbd failed while attempting to check config
command was: mysqld --character-set-server=utf8 --collation-server=utf8_unicode_ci --init-connect=SET NAMES UTF8; --innodb-flush-log-at-trx-commit=0 --verbose --help
/usr/local/bin/docker-entrypoint.sh: line 105: mysqld: command not found
2024-09-02 09:01:54+00:00 [Note] [Entrypoint]: Entrypoint script for MariaDB Server 1:11.5.2+maria~ubu2404 started.
2024-09-02 09:01:54+00:00 [ERROR] [Entrypoint]: mariadbd failed while attempting to check config
command was: mysqld --character-set-server=utf8 --collation-server=utf8_unicode_ci --init-connect=SET NAMES UTF8; --innodb-flush-log-at-trx-commit=0 --verbose --help
/usr/local/bin/docker-entrypoint.sh: line 105: mysqld: command not found
2024-09-02 09:02:01+00:00 [Note] [Entrypoint]: Entrypoint script for MariaDB Server 1:11.5.2+maria~ubu2404 started.
2024-09-02 09:02:01+00:00 [ERROR] [Entrypoint]: mariadbd failed while attempting to check config
command was: mysqld --character-set-server=utf8 --collation-server=utf8_unicode_ci --init-connect=SET NAMES UTF8; --innodb-flush-log-at-trx-commit=0 --verbose --help
/usr/local/bin/docker-entrypoint.sh: line 105: mysqld: command not found
2024-09-02 09:02:14+00:00 [Note] [Entrypoint]: Entrypoint script for MariaDB Server 1:11.5.2+maria~ubu2404 started.
2024-09-02 09:02:14+00:00 [ERROR] [Entrypoint]: mariadbd failed while attempting to check config
command was: mysqld --character-set-server=utf8 --collation-server=utf8_unicode_ci --init-connect=SET NAMES UTF8; --innodb-flush-log-at-trx-commit=0 --verbose --help
/usr/local/bin/docker-entrypoint.sh: line 105: mysqld: command not found
the mariadb docker image doesn't use 'mysqld' as a startingpoint, but 'mariadbd'.
(the same is for the client, it isn't 'mysql', but 'mariadb')
appending command: mysqld --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
to the docker file won't work.
command: mariadbd --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
will work.
Better is to use the line below; it works both on mariadb and mysql.
command: ['--character-set-server=utf8mb4', '--collation-server=utf8mb4_unicode_ci']
This doesn't work for me for any magic reason. My tables collations and collation of connection is still latin1_swedish_ci, although collation_server is utf8_unicode_ci. I solved it by setting this options to mysql config file directly (my.cnf).
my.cnf:
[mysqld] init_connect=‘SET collation_connection = utf8_unicode_ci’ character-set-server = utf8 collation-server = utf8_unicode_ci [client] default-character-set = utf8
docker-compose.yml:
version: '3.1' services: db: image: mariadb restart: always ports: - 3306:3306 environment: - MYSQL_ROOT_PASSWORD=example - MYSQL_DATABASE=test - MYSQL_USER=testuser - MYSQL_PASSWORD=testpassword volumes: - ./my.cnf:/etc/mysql/my.cnf
p.s. my.cnf is placed near docker-compose.yml in this example. You can put it in another folder, but you should change path in volumes part
This worked for me too. Just a little note, you need to use SINGLE QUOTES around for the line init_connect=‘SET collation_connection = utf8_unicode_ci’
. Thanks mate.
Try using the image mariadb as described in gist. Bitnami could have some customization, which might be incompatible with example above