MySQL接続文字列のフォーマット
mysql:// URIスキームを使ったMySQL接続文字列の構築方法。ホスト、ポート、データベース名、認証、一般的な接続パラメータを解説します。
MySQL
詳細な説明
MySQL URIフォーマット
MySQL接続文字列はmysql:// URIスキームを使用します。フォーマットはPostgreSQLと似ていますが、MySQL固有のデフォルト値とパラメータがあります:
mysql://[user[:password]@][host][:port][/database][?param=value&...]
デフォルト値
| パラメータ | デフォルト |
|---|---|
| ホスト | localhost |
| ポート | 3306 |
| ユーザー名 | root |
| データベース | (なし) |
| SSL | オフ |
接続文字列の例
ローカル開発:
mysql://root:password@localhost:3306/myapp
SSL付き本番環境:
mysql://appuser:s3cur3p%40ss@db.example.com:3306/production?ssl=true
文字セットと照合順序
MySQL接続では文字セットの設定がよく必要になります。一般的なパラメータ:
?charset=utf8mb4&collation=utf8mb4_unicode_ci
utf8mb4文字セットは絵文字を含む完全なUnicodeをサポートしますが、MySQLの古いutf8は3バイト文字のみサポートします。
接続タイムアウト
MySQLはハングする接続を防ぐためのタイムアウトパラメータをサポートしています:
connectTimeout— 初期接続を待つミリ秒数waitTimeout— サーバーによって閉じられるまで接続がアイドルできる秒数
Key-Value形式の代替
一部のMySQLドライバーはKey-Value形式の設定を好みます:
Host=localhost
Port=3306
Database=myapp
User=root
Password=password
SslMode=Required
この形式はMySqlConnectorやMySQL.Dataパッケージを使用する.NETアプリケーションで一般的です。Node.jsでは、mysql2とmysqlの両パッケージがこれらのKey-Valueペアに直接マッピングされるオブジェクトベースの設定を受け入れます。
ユースケース
Webアプリケーションバックエンド、WordPressデータベース、またはMySQLレプリカから読み取るデータパイプラインのMySQL接続設定。