Ground Sunlight

Windowsで作る - PHPプログラミングの開発環境

ユーザ用ツール

サイト用ツール


mariadb:10.4:system-variables

差分

このページの2つのバージョン間の差分を表示します。

この比較画面にリンクする

両方とも前のリビジョン 前のリビジョン
次のリビジョン
前のリビジョン
mariadb:10.4:system-variables [2020/11/19 15:45]
y2sunlight [MariaDB10.4 システム変数の参照と変更]
mariadb:10.4:system-variables [2020/11/20 09:58] (現在)
y2sunlight
行 13: 行 13:
   * [[mariadb:10.4:transaction|MariaDB10.4 トランザクション]]   * [[mariadb:10.4:transaction|MariaDB10.4 トランザクション]]
  
-以下「MySQL」は「MariaDB」に読み替えて下さい+以下「MySQL」は「MariaDB」に読み替えて下さい
  
 ---- ----
行 25: 行 25:
 \\ \\
  
-==== システム変数 version ====+===== システム変数 version =====
  
 システム変数versionを参照します。ブラウザからサンプルプログラム(sqlfile.php)を実行します。 システム変数versionを参照します。ブラウザからサンプルプログラム(sqlfile.php)を実行します。
行 38: 行 38:
 </file> </file>
  
-実行結果+=== 実行結果 ===
  
 [{{:mariadb:10.4:sqlfile02.png?nolink|}}] [{{:mariadb:10.4:sqlfile02.png?nolink|}}]
行 56: 行 56:
  
 最初の構文(SHOW VARIABLES)はMySQL独自のもので、次の構文は(select @@)は他のデータベースとの互換性を保持する為にサポートされています。 最初の構文(SHOW VARIABLES)はMySQL独自のもので、次の構文は(select @@)は他のデータベースとの互換性を保持する為にサポートされています。
-==== システム変数 storage_engine ====+ 
 +\\ 
 + 
 +===== システム変数 storage_engine =====
  
 インストールしたMySQLに搭載されているデータベースエンジンを確認してみます。ブラウザからサンプルプログラム(sqlfile.php)を実行します。 インストールしたMySQLに搭載されているデータベースエンジンを確認してみます。ブラウザからサンプルプログラム(sqlfile.php)を実行します。
行 68: 行 71:
 </file> </file>
  
-実行結果+=== 実行結果 ===
  
 [{{:mariadb:10.4:sqlfile05.png?nolink|}}] [{{:mariadb:10.4:sqlfile05.png?nolink|}}]
行 87: 行 90:
 </file> </file>
  
-ここでは、データベースエンジンをデフォルトのInnoDBからAriaに変更します。AriaはMyISAMの耐障害性やキャッシュ機構などを改善した、モダンなデータベースエンジンで、もともとの名前は**Maria**だった。+ここでは、データベースエンジンをデフォルトのInnoDBからAriaに変更します。AriaはMyISAMの耐障害性やキャッシュ機構などを改善した、モダンなデータベースエンジンで、もともとの名前は**Maria**でし
  
- +=== 実行結果 ===
-実行結果+
  
 [{{:mariadb:10.4:sqlfile03.png?nolink|}}] [{{:mariadb:10.4:sqlfile03.png?nolink|}}]
行 98: 行 100:
 この例では、セッション変数storage_engineをSET文でAriaに変更しています。実行結果を見ても分かるようにセッション変数の変更はグローバル変数には影響しません。SETまたはSHOW文で SESSION/GLOBALを省略するとSESSIONとして扱われます。SHOWでlike節を省略すると全ての変数を表示します。 この例では、セッション変数storage_engineをSET文でAriaに変更しています。実行結果を見ても分かるようにセッション変数の変更はグローバル変数には影響しません。SETまたはSHOW文で SESSION/GLOBALを省略するとSESSIONとして扱われます。SHOWでlike節を省略すると全ての変数を表示します。
  
-==== 文字セット関連のシステム変数 ====+\\ 
 + 
 +===== 文字セット関連のシステム変数 =====
  
 文字セット関連のシステム変数を取得してみます。ブラウザからサンプルプログラム(sqlfile.php)を実行します。 文字セット関連のシステム変数を取得してみます。ブラウザからサンプルプログラム(sqlfile.php)を実行します。
行 111: 行 115:
 </file> </file>
  
-実行結果+=== 実行結果 ===
  
 [{{:mariadb:10.4:sqlfile04.png?nolink|}}] [{{:mariadb:10.4:sqlfile04.png?nolink|}}]
行 119: 行 123:
 本例では上記実行結果のようになりました。暗黙の文字セットとなるcharacter_set_serverがlatin1になっています。これをutf8に変更するには、my.iniを以下のように変更します。 本例では上記実行結果のようになりました。暗黙の文字セットとなるcharacter_set_serverがlatin1になっています。これをutf8に変更するには、my.iniを以下のように変更します。
  
-{XAMPP Install Folder}/mysql/bin/my.ini +{{fa>file-o}} ''{XAMPP Install Folder}/mysql/bin/my.ini'' 
-<code>+<code ini my.ini>
 [mysqld] [mysqld]
 character_set_server=utf8 character_set_server=utf8
行 127: 行 131:
 また、上記実行結果では、クライアントとの接続に関係する3つのセッション変数(character_set_client, character_set_results, character_set_connection)はlatin1になっています。latin1はASCIIコードに西ヨーロッパ諸国のアルファベットや記号を追加した8ビット系のコードです。このままの状態では漢字の使用ができません。 また、上記実行結果では、クライアントとの接続に関係する3つのセッション変数(character_set_client, character_set_results, character_set_connection)はlatin1になっています。latin1はASCIIコードに西ヨーロッパ諸国のアルファベットや記号を追加した8ビット系のコードです。このままの状態では漢字の使用ができません。
  
-漢字を使用するためには、上で説明したようにmy.iniを編集するか、セッションの初めに <nowiki>set names</nowiki> を実行します。+漢字を使用するためには、上で説明したようにmy.iniを編集するか、セッションの初めに ''set names'' を実行します。 
 + 
 +=== クライアント文字セットをUTF8に設定する ===
  
-クライアント文字セットをUTF8に設定する 
 <code> <code>
 set names utf8; set names utf8;
 </code> </code>
  
-本サンプルプログラムでは、sオプションを使用することでデータベースセッションの初めに <nowiki>set names</nowiki> を実行できます。+本サンプルプログラムでは、sオプションを使用することでデータベースセッションの初めに ''set names'' を実行できます。
  
 <code> <code>
 http://localhost/mysql/sqlfile.php?f=syaval3.sql&s=1 http://localhost/mysql/sqlfile.php?f=syaval3.sql&s=1
 </code> </code>
 +
 +[{{:mariadb:10.4:sqlfile04a.png?nolink|}}]
  
 <nowiki>set names</nowiki> の実行は上例でもわかるように character_set_client、character_set_connection、character_set_results を設定します。 <nowiki>set names</nowiki> の実行は上例でもわかるように character_set_client、character_set_connection、character_set_results を設定します。
行 150: 行 157:
  
  
-データベースの文字セット+=== データベースの文字セット ===
  
 データベースの文字セットはデータベースの作成時に決まります。この場合の暗黙の文字セットはサーバの文字セット(character_set_server)です。これを変更するにはCREATE DATABASE文で明示的に指定します: データベースの文字セットはデータベースの作成時に決まります。この場合の暗黙の文字セットはサーバの文字セット(character_set_server)です。これを変更するにはCREATE DATABASE文で明示的に指定します:
行 169: 行 176:
 </code> </code>
  
-文字セットはサーバ、データベース、テーブル、カラムと順に引き継がれます。明示的指定しない場合は、1つ前のレベルの文字セットが使用されます。+文字セットはサーバ、データベース、テーブル、カラムと順に引き継がれます。明示的指定しない場合は、1つ前のレベルの文字セットが使用されます。
  
 +\\
  
mariadb/10.4/system-variables.1605768302.txt.gz · 最終更新: 2020/11/19 15:45 by y2sunlight