検索
特集

MySQLデータベースとBaseを接続する(その2)(1/2 ページ)

MySQLをBaseに登録し、OpenOffice.orgと連携させながら業務アプリケーションとして活用するための基礎知識学ぶ同特集。今回は、MySQLの設定を行うとともに、MySQLをBaseに登録するまでを解説する。

PC用表示 関連情報
Share
Tweet
LINE
Hatena

*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***

 MySQLの設定は多岐にわたりますが、Debianでは、同じシステム上のOOoとの接続だけなら、さほど難しくはありません。セキュリティ関連設定も基本的には厳しいものになっているのですが、最小限の設定として、セキュリティ強化とアクセスの制限、データベースで日本語を利用できるようにしておきましょう。また、MySQLとOOoとのTCP/IP接続を許可する設定も加えます。

セキュリティ強化とアクセスの制限

 まずは、MySQLのデフォルトの設定を確認しておきましょう。ここでは、「-u」オプションを使ってrootユーザー*でアクセスしてみます(実行例2)

*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***

 実行例2は、MySQLサーバーのmysqlというデータベースに作成されているuserテーブルを表示しています。このuserテーブルが、実はアクセスの制御に関する設定を行う重要なテーブルなのです。また、このmysqlデータベースは、デフォルトの設定のままだとrootユーザーを指定しないとアクセスできません。

 次に、Hostフィールドを見てください。「debian」というのはlocalhostに付けられたホスト名なので、MySQLサーバーには、起動したPCからしかアクセスできないことを示しています。ただし、データがブランクのフィールドは、アクセス制御されていないことを意味します。したがって、デフォルトの設定では、アクセス制御という重要なデータベースを持つmysqlデータベースについて、次のような状態になっていることが分かります。

  • 同じPC上のユーザーならアクセスできる
  • (MySQLの)rootユーザーのパスワードが設定されていない

 最小限のセキュリティとして、まずはrootユーザーのパスワード設定を次のように行います。

*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***

 次に、ブランクユーザーを削除し、データベースにアクセスできるユーザーopenを作成したうえで、そのパスワードを設定しましょう(実行例3)

*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***

 実行例3の設定を終えたら、userテーブルのアクセス制御の設定を確認します。実行例4のように、User、Passwordの各フィールドに値が設定されていることをチェックしてください。実行例4では、Hostフィールド「debian」であるレコードのパスワードが設定されていませんが、実際にアクセスする際には(localhostで設定した)rootパスワードを要求されます。

*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***

MySQLデータベースの日本語設定

 MySQLは、設定ファイルに文字コードのエントリを追加すると、フィールド名およびデータに日本語を利用できます。扱える文字コードは、EUC-JP、シフトJISです(バージョン4.1以降はUTF-8も指定できる)。Windows上のOOoからのアクセスを考えると、どちらの文字コードを利用するか迷うところですが、OOoからMySQLにアクセスする場合は、OSに関係なく日本語を利用できるようになっています。つまり、Windows上のOOoからLinux上のMySQLサーバーに接続する場合は、日本語文字コードを気にしなくとも良いのです。そこで、ここではLinux側に合わせてEUC-JPを設定します。

 Debianでは、/etc/mysql/my.cnfがMySQLの設定ファイルとなっています。my.cnfファイルは、セクション別に設定を記述するようになっています。日本語の設定は、[mysqld]、[mysqldump]、[mysql]という3つのセクションに、それぞれ次のように追記します。

*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***

 「ujis」は、EUC-JPの設定値です。

TCP/IP接続を許可する

 OOoからMySQLに接続するためには、MySQLがTCP/IP接続を許可する設定になっていないといけません。これも/etc/mysql/my.cnfファイルで設定します。これは、同ファイル中の「skip-networking」という行を削除するだけです。

 以上で、MySQLの基本的な設定は完了です。my.cnfファイルを書き換えたので、MySQLサーバーを再起動する必要があります。表1で挙げた「サーバーの再起動」を実行してください。

 また、最後にもう1度、これまでの設定が反映されているかどうか確認してみましょう。「-u」オプションにユーザー名open、「-h」オプションにホスト名を指定するとTCP/IP経由で接続可能かが分かります。実行例5のコマンドを実行し、「mysql>」プロンプトが表示されれば、接続できていることになります。

*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***

次ページ:JDBCドライバのインストール

       | 次のページへ

Copyright(c)2010 SOFTBANK Creative Inc. All rights reserved.

ページトップに戻る