Docker for Windows でmariadbの設定

githubにおいてあるけど:https://github.com/mosapride/docker-mariadb-utf8g

文字コードをUTF-8

初期設定をUTF-8(utf8_general_ci)に設定する。
UTF-8の設定にはutf8_bin、utf8_general_ci、utf8_unicode_ciの3つがあるが一番しっくりくるのがutf8_general_ci。違いはマッチする文字。

設定する文字コードによる違い

  • utf8_bin
    キャラクターコードが完全に一致するもののみマッチする。
  • utf8_general_ci
    アルファベットの大文字・小文字は区別せずにマッチする。 ただし、区別しない文字は、半角は半角の大文字・小文字、全角は全角の大文字・小文字のみ。 半角小文字と全角小文字同士はマッチしない。
  • utf8_unicode_ci
    下記がマッチする。 アルファベットの大文字・小文字(全半角混合) ひらがなの大文字・小文字とカタカナの大文字・小文字 (例えば、’あ’で検索すると、’ぁ’, ‘ア’, ‘ァ’もマッチする)

以下のファイル(mariadb.cnf)を作成し、「/etc/mysql/conf.d/」ディレクトリに配置する。

timezoneを日本時間に設定

Hyper-V – 統合サービス – 時刻の同期をチェックしても変化が無かったため、コンテナにタイムゾーンを設定する。未設定の場合はデフォルトでUTC時刻となるため9時間の時差が生じる。

dockerhub/mariadbのOSはdebianになっているので正確にはmariadbのtimezone設定ではなくdebianのtimezoneの設定となる。
Dockerではtimedatectlが使用できないため、lnとdpkgで日本時間(Asia/Tokyo)を設定する。
Dockerfileにすると

スポンサーリンク
レタリング(大)広告
レタリング(大)広告

シェアする

  • このエントリーをはてなブックマークに追加

フォローする

スポンサーリンク
レタリング(大)広告