DockerのMySQLでmysqldumpでエラーになったときの対処方法
2017/10/24
IT dockermysql

Docker公式のMySQLのimageを利用したときに、mysqldumpで以下のエラーが出たときの対処に関するメモ。

1
Error: Binlogging on server not active

Dockerfileを以下のように作成すれば良い。

1
2
3
FROM mysql:5.6

RUN echo "log-bin=mysql-bin" >> /etc/mysql/mysql.conf.d/mysqld.cnf

docker-compose.ymlを利用するなら以下のような感じにする。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
version: '3'
services:
  mysql:
    container_name: local-db
    build:
      context: ./build/
      dockerfile: mysqlDockerfile
    ports:
      - '3306:3306'
    environment:
      MYSQL_ROOT_PASSWORD: password
    volumes:
      - local-db_data:/var/lib/mysql
      - ./db_init:/docker-entrypoint-initdb.d

volumes:
  local-db_data: