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では、mysql2mysqlの両パッケージがこれらのKey-Valueペアに直接マッピングされるオブジェクトベースの設定を受け入れます。

ユースケース

Webアプリケーションバックエンド、WordPressデータベース、またはMySQLレプリカから読み取るデータパイプラインのMySQL接続設定。

試してみる — Connection String Builder

フルツールを開く