MySQLのドキュメント
MySQLのドキュメントを活用していますか?
MySQLのドキュメントといえば日本語版 MySQL 5.6 リファレンスマニュアル を想像されるかと思いますが、MySQLのドキュメントにはその他のものも数多くあります。通常の場合、検索エンジンなどを経由してたどり着く、Webページになっている日本語版のリファレンスマニュアル(オンラインリファレンスマニュアル)で十分な情報が得られるでしょう。
今回はそんなオンラインリファレンスマニュアルを探索するTIPSを紹介します。
リファレンスマニュアル以外のドキュメント
ドキュメントのトップページ を見てみましょう。
このページにリストされている文書は大きく分けて「リファレンス」と「リリースノート」があります。
リファレンスには「MySQL Server」 、「 MySQL Enterprise」 、「 MySQL Workbench」 、「 Connectors & APIs」などのサブカテゴリー+製品ごとに分冊されており、リリースノートは各製品ごとに分冊されています。
それでは、お馴染みのMySQL 5.6 Reference Manual (GA) (japanese) を見ていきましょう。
オンラインリファレンスマニュアル
日本語版 MySQL 5.6 リファレンスマニュアル のトップページは以下のようになっています。
画面左側にナビゲーションがあり、上部には検索ボックスがあります。ちなみにリリース当初は日本語版にこの検索ボックスはありませんでした(英語版のみ検索ボックスが存在した)が、現在はちゃんと日本語で検索できるようになっています。
検索ボックスの上にはページャーがあり、電子書籍のようにページ送りができます(利用する機会はほとんどないと思いますが) 。
オンラインリファレンスマニュアルのURL構造
各ページはそれぞれ(当たり前ですが)URLを持ちます。URLの中にはバージョン(リリース系列) 、言語名を含んでいますが、htmlファイルの名前は各バージョン各言語で同一です。
たとえば、「 第7章 バックアップとリカバリ」を指す https://dev.mysql.com/doc/refman/5.6/ja/backup-and-recovery.html
を5.6 ⇒ 5.7、ja ⇒ en と変更し https://dev.mysql.com/doc/refman/5.7/en/backup-and-recovery.html
とすると、英語版MySQL 5.7のオンラインリファレンスマニュアルの「Chapter 8 Backup and Recovery」が参照できます。
バージョンごとに章のナンバリングは違う場合がありますが、ファイル名が同一であるため、このように(参照したいバージョンの章立てを理解していなくても)同じページにたどり着くことができます。
なお、わざわざURLを削らなくても、ブラウザ上でバージョン、言語の切り替えをするためのリストボックスも存在します。ただしこの方法ではアンカー指定(https://dev.mysql.com/doc/refman/5.6/ja/encryption-functions.html#function_aes-decrypt
などの#
以降)が消えてしまうため、特定の関数やパラメータ名を決め打ちで探したい時はURLを修正する方が目的の情報にたどり着きやすくなります。
日本語で検索してからオリジナルを確認する
まず、筆者は母語が日本語です。検索エンジンでキーワードを検索してオンラインリファレンスマニュアルが表示されたとしても、それは大抵日本語のものです。
しかし、日本語のオンラインリファレンスマニュアルは若干古く(https://dev.mysql.com/doc/refman/5.6/ja/
を参照してください。2017/02/14現在ではMySQL 5.6(5.6.23 まで) と明記されていますが、MySQL 5.6系の最新リリースは5.6.35です) 、その間に変更されたかも知れない記述が気になることもあります(そのほとんどがドキュメントの間違いをバグレポートで指摘したい時なのですが、そんなにあることではないような気がしてきました) 。
また、MySQL 5.7は現在のところ日本語リファレンスマニュアルがありませんが、「 このパラメータはMySQL 5.6から存在しているし、URLを修正すればMySQL 5.7の同じパラメータにたどり着ける(そして、パラメータ1つ程度の分量であれば何とか英語でも同じことが書いてあるかないかくらいはわかる)だろう」という期待を込めて、日本語版MySQL 5.6のリファレンスマニュアルからMySQL 5.7の情報を探すこともできます。
その機能がどのバージョンで導入されたかをざっと確認する
たとえば、json_append というMySQL 5.7から導入された関数があります。
これがMySQL 5.6にあるかどうか(いや、ないのですが)を確認するには、MySQL 5.7のURLであるhttps://dev.mysql.com/doc/refman/5.7/en/json-modification-functions.html#function_json-append
をMySQL 5.6のURLであるはずのhttps://dev.mysql.com/doc/refman/5.6/en/json-modification-functions.html#function_json-append
に変更してみればわかります(ページ(htmlファイル)が存在しない場合はリダイレクトまたはNot Found、アンカーが見つからない場合はページのトップにビューがとどまります) 。
あるいは、MySQL 8.0で廃止が決まっている innodb_file_formatはどうでしょう。MySQL 5.7 en には記載があります。MySQL 5.6 ja にも記載がありますが、MySQL 8.0 en ではそのアンカーが存在しないため、「 16.13 InnoDB Startup Options and System Variables」のページの先頭が表示されます。
このテクニックはバージョン間でのデフォルト値の変更などを調べる際にも有効です。
オンラインでないリファレンスマニュアル
最後に、オンラインではないリファレンスマニュアルのダウンロードの仕方を紹介しておきます。
まずは、ドキュメントのトップページからダウンロードする方法です。ドキュメント名の隣の下向きの矢印のアイコンをクリックすることで、ダウンロードメニューが開きます。
各ドキュメントのページでは、ナビゲーションの一番下にダウンロード用のリンクがあります。
通常は検索エンジンからたどり着くことの多いリファレンスマニュアルですが、このような一風変わった楽しみ方もあります。PDF版のマニュアルなどは、ひとたびスマートフォンなどにダウンロードしておけば電波の入らない地下鉄に乗っている最中に「あれ? ALTER DATABASE
構文って DEFAULT
省略できたっけ?」などと急に気になってもさっと参照することができ、勉強に最適です。