カテゴリー
Linux

Xethron/migrations-generator で生成された内容で注意する点

まとめ

カテゴリー
Linux

MySQL の datetime の無難な最小値は ‘0001-01-01 00:00:00’ だった

まとめ

  • STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE である MySQL の話
  • カラムに挿入できる datetime の最小値は ‘0000-01-01 00:00:00’
  • STR_TO_DATE 関数で扱える最小値は ‘0001-01-01 00:00:00’
  • したがって、 NMySQL の datetime で実際に使うときに無難な最小値は ‘0001-01-01 00:00:00’
カテゴリー
コンピューター

MySQL 8 のデフォルト文字セット系をすべて utf8mb4 にする cnf の書き方メモ

まとめ

[mysql]
default-character-set=utf8mb4

[mysqld]
character_set_server=utf8mb4
collation-server=utf8mb4_bin
  • [mysql] の default-character-set=utf8mb4 で変更される項目
    • character_set_client: latin1 -> utf8mb4
    • character_set_connection: latin1 -> utf8mb4
    • character_set_results: latin1 -> utf8mb4
  • [mysqld] の character_set_server=utf8mb4 で変更される項目
    • character_set_database: utf8mb4 -> utf8mb4
    • character_set_server: utf8mb4 -> utf8mb4
  • [mysqld] の collation-server=utf8mb4_bin で変更される項目
    • collation_database: utf8mb4_0900_ai_ci -> utf8mb4_bin
カテゴリー
Linux

【MySQL】無難で一般的な CREATE USER, CREATE DATABASE あたりを押さえる

以下、例で使用する名前

  • DB 名: sample_db
  • ユーザ名: sample_user
  • パスワード: sample_user_pass
カテゴリー
Linux

Ansible で CentOS 7 に MySQL 5.7 を構築する時のお勉強メモ

構築の進め方

まず、日本語で流れを確認しました。

mysql_secure_installation 時において、Ansible 的に、初期パスワードを入れる必要があるのが辛そうでした。

次に本家ドキュメントに従って構築していきました。

その後、Ansible プレイブックを確認しながら書いていく、という順番です。

カテゴリー
Microsoft

ローカル開発環境の古い MySQL、バージョン 5.5 を Docker で再現できるかやってみましたらできました♪

はじめに

  • 開発のために MySQL 5.5 を手元の Windows にインストールしなければならない。
  • はっきりいって嫌だ。
    • Windows 起動時に自動的に MySQL も起動してしまったり。
    • Windows のポートも使用されてしまったり。
  • Docker で再現できるのでは?
    • Nginx を Docker で使ったとき、http://localhost でウェブページにアクセスできた。
    • Nginx を Docker で使ったとき、docker run 時、-p 8080:80 などとすれば、http://localhost:8080 でアクセスできた。
    • つまり、ホスト (Docker をインストールしたマシン) からコンテナに対して、localhost と指定したポート番号でアクセスできるということ。
  • A5:SQL Mk-2 – フリーの汎用SQL開発ツール/ER図ツール .. 松原正和 からアクセスできるか、やってみる。
カテゴリー
コンピューター

【Docker】volumes で永続化した場合、コンテナが消えようがイメージが消えようが、永続化したファイルは残る

永続化関連のまとめと遭遇したトラブル

  • コンテナを削除 (docker rm や docker-compose down など) しても、volumes のホスト側のファイルは残る。
  • MySQL の /docker-entrypoint-initdb.d/ に置いた SQL ファイルは、コンテナを作成 (1回目) してコンテナを削除して、コンテナを作成 (2回目) した場合、1 回目しか実行されない。
    • 1 回目で永続化されたファイルが出来上がり、これは削除されない。すると 2 回目では永続化された DB ファイルがあるため、実行されないのであろう。
    • したがって、開発中などの場合、永続化の設定をした状態で 2 回目のコンテナを作成する前に /docker-entrypoint-initdb.d/ の SQL を編集してもその内容はコンテナに反映されない。
    • 永続化したファイルを消せば、コンテナに反映される。
カテゴリー
WordPress

【WordPress】BackWPup から別のサーバへ復元、リストアした記録

はじめに。

  • ドメインはそのままで、サーバを引っ越す。1つのVPSに Nginx も PHP も MariaDB も全部入っている。データベースが MySQL から MariaDB へ変更する以外、引越し元と引越し先でサーバ内容は全く同じ。
  • WordPress のファイル、DB はプラグイン BackWPup で作成したものを使用して復元する。
  • 引越し先のサーバは構築済みで、後は現在の引越し元の WordPress ファイルと DB を引越し先サーバへ持っていくだけ。
    • 構築時にサンプルの WordPress を作成している。
    • 構築時に引っ越し元と同じ内容で DB を作成している。

今回、上記のことを行った記録を取りたいと思います。

カテゴリー
Linux

【phpmig】【MySQL】マイグレーション時に文字化けする時の修正方法

ポイント

  • PDO をインスタンス化する際に、文字コードを指定する。
  • PHP バージョンによって指定方法が異なることに注意

環境

  • PHP 5.3.3 (cli) (built: Aug 11 2016 20:33:53)
  • mysql Ver 14.14 Distrib 5.1.73, for redhat-linux-gnu (x86_64) using readline 5.1
カテゴリー
Linux

【PHP】phpmig で MySQL のマイグレーションをするまでの導入手順

ポイント

  • Pimple もインストールすること。さもないと、phpmig migrate 時に Fatal error: Class ‘Pimpli¥Container’ not found in … とエラーになった。
  • Pimple インストール方法については、phpmig の README には記載されていないので注意。