LoginSignup
7
2

More than 3 years have passed since last update.

Dockerのmysqlに文字コードを設定&コンテナのbashで日本語入力設定

Posted at

mysqlに文字コードを設定する

docker-compose upでコンテナ起動し、mysqlログイン、mysql> show variables like 'char%'; で確認するも文字コードがlatin1になっている問題を解決する。
以下の記事を参考に、mysqlの部分にコマンドを渡すよう追記する。
*参考記事だとバージョン'2'ですが、バージョン'3'でも同じでした。
参考:https://qiita.com/neko-neko/items/de8ea13bbad32140de87

docker-compose.yml
version: '3'

### MySQL ################################################
    mysql:
      build:
        context: ./mysql
      # 〜中省略〜
      # 以下追加
      command: mysqld --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci

確認結果
スクリーンショット 2019-05-13 11.56.07.png

mysqlコンテナのbashで日本語入力ができるよう環境変数を設定する

bashでmysqlコンテナにログイン、日本語入力が出来ない問題を解決する。
DockerFileでlocaleを指定する。
*Linuxのディストリビュージョンによって記述が異なるので注意。今回はubuntu(debian)の場合。
参考:https://qiita.com/n_oshiumi/items/cfe91c60730f602b38eb

mysql/Dockerfile
ARG MYSQL_VERSION=latest
FROM mysql:${MYSQL_VERSION}

LABEL maintainer="Mahmoud Zalt <mahmoud@zalt.me>"

#####################################
# Set Timezone
#####################################

ARG TZ=UTC
ENV TZ ${TZ}
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone && chown -R mysql:root /var/lib/mysql/

# 以下追加
RUN apt-get update \
    && apt-get install -y locales \
    && locale-gen ja_JP.UTF-8 \
    && echo "export LANG=ja_JP.UTF-8" >> ~/.bashrc
# ここまで

COPY my.cnf /etc/mysql/conf.d/my.cnf

CMD ["mysqld"]

EXPOSE 3306

確認結果
スクリーンショット 2019-05-13 11.37.21.png

7
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
2