doc.dev1x.org

MySQLに関する覚書

Bool値を使いたい時はTINYINT

絵文字を保存したい場合はutf8mb4を使う

TimeStamp型を使ってはいけない

SQLの実行計画を見る

EXPLAIN SELECT * FROM my_table;

パフォーマンスチューニングの設定

トランザクションのタイムアウト時間

mysql> SHOW VARIABLES LIKE 'innodb_lock_wait_timeout';

Dockerコンテナ起動時にSQLを実行する

services:
  mysql:
    image: mysql:latest
    container_name: mysql
    environment:
      MYSQL_ROOT_PASSWORD: xxxxxxx
      MYSQL_DATABASE: xxxxxxx
      MYSQL_USER: xxxxxxx
      MYSQL_PASSWORD: xxxxxxx
    ports:
      - 3306:3306
    volumes:
      - type: bind
        source: "<初期データ保存ディレクトリ>"
        target: "/docker-entrypoint-initdb.d"