さて、TOTO攻略プログラムですが、PythonでスクレイピングしたデータをExcelに吐き出すことは出来るようになり、タスクスケジューラーで定期的にデータを取得することも可能になって来ました。
そこで、ハタッと気が付きました。
Excelなんかにデータ落とさずに、そのままSynologyで利用しているDBへ突っ込めばいいじゃんか。と。
そういえば、この記事を書いているWordpressを利用するためにMariaDBをインストールしている訳なので、それを利用しようではないかと。
利用しなければ、猫に小判、豚に真珠、という訳で。。
また、碌にスキルも無い自分が、あちこちぶつかりながらも、なんとかなったので、後進の方の為にも、記録を残しておきましょう。
もう、ホント、忘備録と化しているな。このブログ。。
そもそも、MS ACCESS(自分のはoffice2016版)でMysql(MariaDBはMysqlの派生とのことなので互換性があるとのこと)が利用できるとは知りませんでした。
余談ではありますが、AccessでMariaDBを利用できるということは、Wordpressのデータベースを自分で作ったクエリーで訂正できるということですね。
ん~、それは便利ですね、覚えて損は無さそうです。
調べるとアクセスでMySQLは、かなり昔から使えるようですね。
ということは、ある程度安定したものが提供されているということになるのだと思います。
尚更、良いではないでしょうか。
今回は、手っ取り早くWordpressのデータベースに繋げてみたいと思います。
さて、では、設定です。手順は以下になります。
1)ORACLEのサイトからODBC CONNECTOR をダウンロード&インストール
2)phpMyAdminにてアカウントの設定
3)ODBCデータソースで接続設定
4)ACCESSで接続、データベース参照
となります。
1)ODBC CONNECTOR のダウンロードとインストール
では、1)からと言ってもこの辺りは検索すればかなり出てきますので、要点だけ書いておきます。
ダウンロードサイト オラクルの以下の画像の所へ下のリンクで飛びます。
32bitと64bitがありますが、ACCESSによって違うのですが、面倒であれば両方インストールすれば良いです。
ちなみにAccessのbitを確認するには、以下になります。
アカウントの右下Accessのバージョン情報を押します。
押すと以下のように、自分の場合は32ビットでした。
最初、OSが64bitだから、64bitをインストールしましたが、調べたらAccessは32bitなので、32bitもインストールしましたよ。
結果的には別段、両方インストールで問題無いようです。後ほど書きます。
2)phpMyAdminを開きアカウントの設定をします。
phpMyAdminを開き、アカウントを設定し直すか、新たに作ります。
サンプルはアカウントの新規作成からの画面です。
ユーザー名とパスワードを設定します。パスワードは大文字、小文字、数字、特殊文字があり、12文字以上だったかな。自分は15文字にしました。
ホスト名を「%」を選択してください。意味は「すべてのホスト」からの接続を許可するということです。
なので、ちょっと怖いですね。その対策はちょっと後に書きます。
認証プラグインはそのまま「ネイティブMySQL認証」でOKです。
グローバル特権の「すべてチェックする」としたいのですが、新規アカウント作成時は、すべての権限をチェックするとアカウントが作成できないので、一旦、「データ」だけチェックしてアカウントを作成(実行ボタンを押します)します。
そして、再度、作成したアカウントを開いてグローバル特権に「すべてチェックする」に☑して保存してください。
あと、セキュリティの話ですが、自動作成されるアカウントのRootですが、削除するか、権限をデータの所のSelectぐらいしかできないようにするとかの対策はしておいた方が良いと思います。
これで、phpMyAdminは終わりです。
で、セキュリティですが、ホワイトリストを設定しておきましょう。
(自動ブロックも忘れずに、設定してくださいね。SSHの記事を読んでください。)
コントロールパネル→セキュリティ→アカウントからホワイト/ブラックリストを押します。
そして、作成ボタンを押します。
で、決まったPCが一つであればIPアドレスを上記のような設定をすればOKです。
IPアドレスを範囲指定したいのであれば、IP範囲で設定します。
MariaDB 10を開いてTCP/IPの所をチェックしてポートを開きます。
この時、TCP/IP接続時を有効にするの隣にインフォメーションマークがあります。
そこでファイアウォールの設定をしろとありますので、ファイアウォールの設定も忘れずに。
規則の編集でまたIPアドレスを設定するのもいいのかもしれません。
3)ODBCデータソースで接続設定
コントロールパネルを開きます。
システムとセキュリティを押します。
管理ツールを押します。
で、ODBC データソースが32Bitと64Bitがあります。
今回、自分は両方インストールしましたが、ACCESSは32bitだったので、32bitを選択します。
追加ボタンを押します。
一番下までスクロールして、「MySQL ODBC 8.0 Unicode Driver」を選択します。
Data Source Name:適当な名前を付けます。データベース名がいいと思います。
TCP/IP Server:IPアドレスを指定します。DDNSはダメ、IPのみです。
Port:デフォルトで良いと思います。
User:ユーザー名
Password:パスワード
Database:接続するDBを指定しますが、この時点でDBの名前が出てこない場合、右にあるTESTボタンを押して接続を試みてください。
リストにDB名が出ないときは何か設定が間違っています。
自分はphpMyAdminのアカウント設定が間違っていました。
ホスト名で「%」を選択しておらず、全然繋がりませんでした。
気が付くのにちょっと時間が掛かりました。
接続ができると上のような感じになります。
赤い所がそれです。良く見ると、32bitと64bitの両方インストールしたので、プラットフォームが32/64ビットとあります。
なので、どっちでも良いわけですね。
ということで両方インストールしておけば良いのだなと思いました。
4)ACCESSで接続、データベース参照
ということで、Wordpressのデータベースに繋げてみます。
空のアクセスを開いて、外部データ→新しいデータソース→他のソースから→ODBCデータベースを押します。
リンクテーブルを選びます。
先ほど作ったODBCデータソースが開きますので、自分の作成したものを選択します。
この時点で接続が成功されていて、データベースがリストアップされてきます。
上の図の通り①すべて選択②OKと押します。
左のテーブル欄に見慣れない緑の丸いマークが出ました。
ACCESSではないデータベースということでしょうね。
で、ワードプレスのデータベースなので、postの所(記事のデータベース)を開いています。
しっかりと表示されていました。
これで、wordpressのデータベースをMS ACCESSで触ることが出来るようになりました。ww
はぁ~。お疲れさまでした。
WordPressのデータベースをMS ACCESSでクエリやらなにやらできるのは、結構、面白い使い方だと思います。
アクセスが得意な方は便利ではないでしょうか。
自分的には超最高です。www 自画自賛、www