MySQL道普請便り

第42回 MySQLのちょっとコアなドキュメントを探しにいこう

この記事を読むのに必要な時間:およそ 2 分

その他のMySQLドキュメント

第39回 MySQLのドキュメントを探しにいこう と同じ出だしで恐縮ですが,MySQLのドキュメントを活用していますか?

MySQLのドキュメントといえば 日本語版 MySQL 5.6 リファレンスマニュアル を想像されるかと思いますが,MySQLのドキュメントにはその他のものも数多くあります。通常の場合,検索エンジンなどを経由してたどり着く,Webページになっている日本語版のリファレンスマニュアル(オンラインリファレンスマニュアル)で十分な情報が得られるでしょう。

第39回では主に日本語版のオンラインリファレンスマニュアルのTIPSを紹介しましたが,今回はそれ以外の「知っているとごく稀に役に立つかも知れない」豆知識を紹介します。

過去のリファレンスマニュアルのありか

ドキュメントのトップページ のラベルから「More」を選びます。

画像

先頭の段落の「Archives」を選ぶと,過去のリファレンスマニュアル(たとえば,MySQL 5.1の日本語版マニュアル)があります。Web版は存在せず,PDFのダウンロードのみが可能です。

画像

コミュニティ版MySQLサーバーのマニュアルに限らず,MySQL Enterprise(商用版)のマニュアル,MySQL ClusterやMySQL Administrator(MySQL Workbenchの前進)などもここからダウンロードすることができます。

たとえばMySQL 5.1はEOL(サポート終了)となったためドキュメントのトップページからたどることはできませんので,必要があればこのアーカイブスのページからアクセスすることになります。

サーバーサイドヘルプ

SQL構文のシンタックスを調べたい時に便利なテクニックです。

オンラインリファレンスマニュアルだけで解決しようとした場合,⁠該当のバージョンのオンラインリファレンスマニュアルを開く」「SQL Statement Syntaxの章を開く」⇒DDLまたはDMLまたはレプリケーション関連…でさらにリンクを開くことになります。たとえば ALTER USER ステートメントが「Database Administration Statements」「Utility Statements」かがわからない場合,両方のリンクを開いてみる必要があるかも知れません。不便です。

そこで,サーバーサイドヘルプのための HELP ステートメントを使います。

mysql> HELP 'ALTER USER';
Name: 'ALTER USER'
Description:
Syntax:
ALTER USER syntax for MySQL 5.7.6 and higher:

The ALTER USER statement modifies MySQL accounts. It provides control
over account password expiration. As of MySQL 5.7.6, it also provides
control over authentication, SSL/TLS, and resource-limit properties,
and account locking and unlocking.
...
URL: http://dev.mysql.com/doc/refman/5.7/en/alter-user.html

このように,⁠該当する項目があれば)その構文に関する解説(リファレンスマニュアルの内容と同じ)に加え,出力の最後にオンラインリファレンスマニュアルのURLを表示してくれます。

サーバーサイドヘルプは英語のみ対応のため取っ付きづらいところがあるかも知れませんが,URLさえわかってしまえば第39回 MySQLのドキュメントを探しにいこうで紹介したテクニックでURLを変更し,日本語の解説を読むこともできます(この方法は,日本語化されているバージョンにも存在するステートメントに限りますが)⁠

また,HELPステートメントで参照できる項目はSQLシンタックスの他にデータ型,関数などがあります(筆者はしょっちゅうGROUP_CONCATのセパレーターの変更の仕方を忘れるため,HELP 'group_concat'をよく実行します)⁠詳細は HELPステートメントのドキュメント を参照してください。

HELPステートメントはサーバー側で処理されるため,クライアントがmysqlコマンドラインクライアントでもGUIのソフトウェアでも,果てはアプリケーションからでも同じステートメントでアクセスすることができます。

トピックガイドとバージョンリファレンス

ドキュメントのトップページは製品ごとにリファレンスマニュアルが並べられていますが,それとは別に「Topic Guides」として項目を並べたページも存在します。トップページ内のリンクで切り替えるか,https://dev.mysql.com/doc/#topicにアクセスすることで,トピックガイドの一覧を参照できます。

画像

これらの項目は基本的に最新版のMySQLサーバーのオンラインリファレンスマニュアルでの各項目へのリンクになっていますが,いくつかの例外(最新版のMySQLサーバーのものではなく,独自に分冊されたドキュメント)があり,⁠Getting Started with MySQL」⁠⁠NDB Cluster API Developer Guide」などがそれに当たります。

この中でも少し便利なのが,「MySQL Version Reference」です。

「mysqld Option/Variable Reference」の章では,サーバーの各バージョンごとに追加された/削除されたオプションやサーバー変数を参照できます。⁠Keywords and Reserved Words」の章では同じく予約語とキーワードを,⁠Functions and Operators」の章では関数と演算子を参照できます。

この関数はどのバージョンから使えるんだっけ? という際に有用だったり,メジャーバージョンアップの際の非互換チェックの一環として利用することができます。

ナットシェル

最後に,これは通常のリファレンスマニュアルの範疇ですが,ナットシェルのページを紹介します。ナットシェルは「要約」という意味で,各メジャーバージョン間の変更について簡潔にまとめられています。英語版のタイトルが「What Is New」なので,⁠ナットシェル」よりもその呼び方の方が慣れているかも知れません。

たとえばMySQL 5.6日本語版リファレンスマニュアルのナットシェルは

https://dev.mysql.com/doc/refman/5.6/ja/mysql-nutshell.html

でアクセスできます。

ナットシェルにはバグフィックスを除いた新機能/削除された機能などが列挙されており,それぞれ詳細ページへのリンクが張ってあります。メジャーバージョンアップ前のチェックには欠かせない資料であるほか,今まで気付いていなかった機能に気付かせてくれることもあるため,読み物として読むのもおもしろいでしょう。

今回は通り一遍の「いわゆるMySQLのドキュメント」以外の,ちょっとしたドキュメントのことを紹介しました。MySQLを楽しむお供にご利用ください。

著者プロフィール

yoku0825

GMOメディア株式会社のDBA。日本MySQLユーザ会員。主に地雷担当。主食はMySQLだがPercona Server,MariaDB,InfiniDBにMroongaストレージエンジンなど,mysqldでありさえすれば雑食。

Twitter:@yoku0825

コメント

コメントの記入