ODBCを利用すれば、MySQLのデータベースにAccessからリンクできます。
また、Accessからできることは、リンクに使用したMySQLアカウントで決まります。
次の記事では、更新権限を持つ管理者アカウントを使用しています。
そのため、Accessから、誤ってデータを壊すリスクがあります。
テーブルの参照だけでよければ、SELECT権限のみのアカウントを使用しましょう。
そうすれば、誤って値を上書きしてしまう心配がありません。
以下に、SELECT権限のみのアカウントの作成方法を紹介します。
ぜひ参考にしてみてください。
コマンドプロンプトからMySQLにログイン
コマンドプロンプトが表示されたら、管理者アカウントでログインします。
パスワードを聞かれるので、管理者アカウントのパスワードを入力してください。
mysql -u root -p
Bitnami Redmineをインストールした場合は、スタートメニューから[Bitnami Rdmine Stack]の[Bitnami Rdmine Stackを使用する]をクリックしてコマンドプロンプトを表示できます。
登録されているアカウントの一覧表示
MySQLにログインできたら、まずは、登録されているアカウントを確認してみましょう。
アカウントの情報はMySQLのデータベースにありますで、次のコマンドを入力します。
use mysql;
登録されているアカウントの一覧を表示するには、次のコマンドを入力します。
select host, user from user;
「root」以外に、Bitnami Redmineをインストールした時に作成された「bitnami」というアカウントが確認できますね。
アカウントの作成
アカウントを作成するコマンドは、次の通りです。
create user ‘ユーザー名’@’ホスト名’ identified by ‘パスワード’;
ホスト名を省略した場合は’%'(ワイルドカード)を指定したものとみなされます。
ユーザー名「pmo」パスワード「mypass」のアカウント作成例を、いくつか紹介します。
任意のホストからの接続を許可する場合
create user ‘pmo’ identified by ‘mypass’;
create user ‘pmo’@’%’ identified by ‘mypass’;
社内LANのすべてのホストからの接続を許可する場合
create user ‘pmo’@’192.168.%.%’ identified by ‘mypass’;
特定のIPアドレス「192.168.1.2」からの接続のみ許可する場合
create user ‘pmo’@’mydesktop’ identified by ‘mypass’;
create user ‘pmo’@’192.168.1.2’ identified by ‘mypass’;
SELECT権限の付与
権限を付与するコマンドは次の通りです。
grant 付与する権限 on データベース名.テーブル名 to ‘ユーザー名’@’ホスト名’;
先ほど作成したアカウントに、データベース「bitnami_redmine」へのSELECT権限を付与する場合は、次のように入力します。
grant select on bitnami_redmine.* to ‘pmo’;
付与した権限の確認
最後に付与した権限を確認しておきましょう。
アカウントに付与されている権限は、次のコマンドで確認できます。
show grants for ‘ユーザー名’;
実際に確認してみましょう。
以上で、SELECT権限のみ付与されたアカウントの作成は終了です。
「quit」を入力してログアウトしてください。
リンクテーブルを作る際、ODBCドライバーの設定画面で、このSELECT権限のみのアカウントを入力すればOKです。