AWS・1分で読める
MySQL の基本設定メモ: sql_mode・照合順序・認証方式
MySQL運用で押さえておきたい sql_mode、collation、charset、認証プラグインの違いと、権限管理の注意点を整理したメモ。
#mysql#database#security#sql_mode#collation#charset
MySQL の基本設定メモ: sql_mode・照合順序・認証方式
MySQL は初期設定のままでも動きますが、運用では設定差分が不具合やセキュリティ事故の原因になります。 ここでは最低限確認したいポイントをまとめます。
sql_mode
sql_mode は SQL の厳格さや互換挙動を制御します。 環境ごとに差分があると、同じ SQL でも結果が変わる可能性があります。
参考: sql_mode 解説
collation(照合順序)と charset(文字セット)
charset: 文字の保存方式(例:utf8mb4)collation: 比較・並び順ルール(大文字小文字、アクセントなど)
アプリと DB で不一致があると、検索結果やソート順に差異が出ます。
認証プラグイン(mysql.user.plugin)
代表的な値:
mysql_native_password: 旧来方式(互換目的で使われることがある)caching_sha2_password: MySQL 8 系の標準
互換性要件がない限りは、より新しい標準方式を優先する運用が安全です。
権限管理メモ
*.*への広すぎる権限付与は避ける- 強い権限のユーザーを安易に作らない
- 業務ごとに最小権限でユーザーを分ける
運用上の注意
- シェル履歴や MySQL 履歴に機密情報を残さない
- SQL 実行履歴を含むファイルの取り扱いを定義する
- 本番でのユーザー作成・権限変更はレビュー経由にする
まとめ
MySQL 設定は「後で調整」より、初期段階で方針を揃える方が運用が安定します。 特に sql_mode、文字コード系、認証方式、権限設計は最初に統一しておくのがおすすめです。