メインメニュー
XAMPP アレンジ
IED
WSL2
-
道具箱
リポジトリ編
フレームワーク編
公開ソフトウェア
メタ
リンク
- PHP ライブラリ
- PHP 言語
mariadb:10.4:server-info文書の過去の版を表示しています。
MariaDB10.4 サーバ情報の取得
— y2sunlight 2019-10-15
関連記事
- MariaDB10.4 サーバ情報の取得
以下「MySQL」は「MariaDB」に読み替えて下さい
前の「システム変数の参照と変更」ではSHOW VARIABLESを使ってシステム変数を参照しましたが、SHOW文にはこれ以外にもサーバに関するいろいろな情報を提供する形式があります。以下では、トランザクションに関係するストレージエンジン(テーブルタイプ)や文字セット関連のサーバ情報を取得してみます。
尚、SHOW文については以下を参照して下さい。
ストレージエンジンに関する情報
ブラウザからサンプルプログラム(sqlfile.php)を実行します。
http://localhost/mysql/sqlfile.php?f=svinfo1.sql
- svinfo1.sql
SHOW ENGINES;
実行結果
SHOW ENGINESはストレージエンジンに関する情報を表示します。この表示から、InnoDBがデフォルトのストレージエンジンである事が分かります。デフォルトのストレージエンジンは、CREATE TABLEで使用されるデフォルトのテーブルタイプです。本編では、サーバオプションファイル(my.ini)のmysqldセクション中でデフォルトのストレージエンジンを指定しています。
default-storage-engine=InnoDB
実行時にデフォルトのストレージエンジンを変更するには、システム変数storage_engine を変えます。
SET storage_engine=Aria;
MySQLはマルチストレージエンジンに対応しています。同じデータベースの中に異なったストレージエンジンのテーブルを作成する事ができます。デフォルトのストレージエンジン以外でテーブルを作成するには、CREATE TABLE文のオプション(ENGINEまたはTYPE)で指定します。
CREATE TABLE syain( ・・・ ) ENGINE = Aria;
文字セットに関する情報
ブラウザからサンプルプログラム(sqlfile.php)を実行します。
http://localhost/mysql/sqlfile.php?f=svinfo2.sql
- svinfo2.sql
SHOW CHARACTER SET;
実行結果
SHOW CHARACTER SETは全ての利用可能な文字セットを表示します。Charsetカラムは文字セット名です。漢字コードを指定するのに特に興味有る文字セット名はutf8/ujis/sjisです。
Default collationカラムはデフォルトの照合順序名です。照合順序(collation)とは文字を比較する場合の順序付け規則の事です。各文字セットにはデフォルトの照合順序があります。
Maxlenカラムは1文字を格納するに要する最大のバイト数を表しています。
データベースに関する情報
ブラウザからサンプルプログラム(sqlfile.php)を実行します。
http://localhost/mysql/sqlfile.php?f=svinfo3.sql
- svinfo3.sql
SHOW CREATE DATABASE test; SHOW CREATE DATABASE test_utf8;
実行結果
SHOW CREATE DATABASEはデータベースの作成情報を表示します。上の表示から、データベースtestの文字セットはlatin1で、test_utf8の方はutf8という事が分かります。本例では、test_utf8 は以下のSQL文で作成しました。
CREATE DATABASE test_utf8 DEFAULT CHARACTER SET utf8;
テーブルに関する情報
ブラウザからサンプルプログラム(sqlfile.php)を実行します。
http://localhost/mysql/sqlfile.php?f=svinfo4a.sql
- svinfo4a.sql
USE test; SET storage_engine = Aria; #この設定は有効です SET character_set_database = sjis; #この設定は無意味です DROP TABLE IF EXISTS syain; CREATE TABLE syain ( syain_no INT(10) NOT NULL, syain_name VARCHAR(50), bumon_no INT(10), PRIMARY KEY (syain_no) ); SHOW CREATE TABLE syain;
実行結果
SHOW CREATE TABLEはテーブルの作成情報を表示します。この例題での興味ある情報はテーブル作成時のオプション(ENGINとDEFAULT CHARSET)です。
システム変数storage_engineをAriaに変更しているのでsyainテーブルはAriaで作成されています。storage_engineを変更しなければInnoDBで作成されます。ストレージエンジンの変更はCREATE TABLEのオプションで指定する事もできます。
CREATE TABLE syain( ・・・ ) ENGINE = Aria;
この例では、システム変数character_set_database をsjisに変更していますが、この設定は無意味です。テーブル作成時のデフォルトの文字セットは、データベース(test)の文字セットが使用されます。変更するにはCREATE TABLEのオプションで明示的に指定する必要があります。
CREATE TABLE syain( ・・・ ) DEFAULT CHARACTER SET = sjis;
以下は、utf8を文字セットに利用しているデータベース(test_utf8)を使った実行例です。
ブラウザからサンプルプログラム(sqlfile.php)を実行します。
http://localhost/mysql/sqlfile.php?f=svinfo4b.sql
- svinfo4b.sql
USE test_utf8; DROP TABLE IF EXISTS syain; CREATE TABLE syain ( syain_no INT(10) NOT NULL, syain_name VARCHAR(50), bumon_no INT(10), PRIMARY KEY (syain_no) ); SHOW CREATE TABLE syain;
実行結果
テーブル作成時のオプション(ENGINとDEFAULT CHARSET)は、ストレージエンジンがInnoDB、文字セットがutf8になり、全てデフォルト値が有効になっています。
mariadb/10.4/server-info.1572402327.txt.gz · 最終更新: 2019/10/30 11:25 by y2sunlight
コメント