MariaDB を Docker で利用する場合、以下のような docker-compose.yaml を書けば良いのだと思い込んでいた。
services: "3"
mariadb:
image: mariadb
ports:
- '3306:3306'
volumes:
- db-data:/var/lib/mysql
- ./db/my.cnf:/etc/mysql/conf.d/my.cnf:ro
environment:
#MARIADB_ROOT_HOST: mariadb
MARIADB_ROOT_PASSWORD: password
TZ: Asia/Tokyo
volumes:
db-data:
driver: local
>mariadb -uroot -ppassword
ERROR 1045 (28000): Access denied for user 'root'@'127.0.0.1' (using password: NO)
しかし、この YAML を使うとどうしても root ユーザによる mariadb コマンドのアクセスができない。
理由はよく分からないが、ダミーで DB を作成したら動くようになった。
mariadb:
image: mariadb
ports:
- '3306:3306'
volumes:
- db-data:/var/lib/mysql
- ./xchange:/xchange
- ./db/my.cnf:/etc/mysql/conf.d/my.cnf:ro
environment:
#MARIADB_ROOT_HOST: mariadb
MARIADB_ROOT_PASSWORD: password
MARIADB_DATABASE: dummytbl
MARIADB_USER: dummytbl
MARIADB_PASSWORD: dummytbl
TZ: Asia/Tokyo
volumes:
db-data:
driver: local
dummytbl ユーザで dummytbl インスタンスがアクセスできるのは分かるのだが、こうしておくと、root でもアクセス可能になる。動きが全く読めん。
コメントを残す