(このシリーズは自分用の備忘録なので、割と適当です。)
設定編はアプリごとに分けようかと思う。
長い記事を書くと途中でくじけてしまうから。
さてさて。
今回はMySQLに必要な設定をしていく。
今回はターミナル上なのか、MySQLコンソール上なのかがわかりづらいので、
先頭に#とmysql>をつけておく。
①管理者ユーザへのパスワード設定
# mysql -u root
管理者ユーザには最初はパスワードがかかっていないので、パスなしでログインする。
mysql> update mysql.user set password=password('パスワード') where user = 'root'; mysql> flush privileges; mysql> exit;
パスワードを設定して変更。
# mysql -u root -p
Enter password:
パスワードを入力してログインできるか確認する。
②データベースの作成
アプリケーションで使うデータベースを作る。
OracleでいうところのスキーマはMySQLではデータベースという。
ややこしい…。
mysql> create database sample;
一応確認しておく。
mysql> show databases;
②ユーザの作成
管理者ユーザをそのまま使うのは良くないので、新しいユーザを作成する。
mysql> create user test@localhost identified by 'password'
今回はローカルからでしかアクセスする必要がないので、localhostとしている。
後述するが、さくらVPSの場合は外からMySQLに接続する際にはSSHトンネルを使うので、localhostだけでいいと思う。
一応確認しておく。
mysql> select User,Host from mysql.user;
③新しいユーザに新しいデータベースへの権限を付加
②で作ったユーザでログインして、show databasesコマンドを叩くと、
さっき作ったデータベースが見えない。
これはユーザに何も権限がないから。
これでは悲しいので、いったんrootユーザでログインしなおして権限の設定をする。
mysql> grant all privileges on sample.* to test@localhost;
これでsampleデータベースにアクセスできるようになる。
ログイン時に末尾にデータベース名をつけると、select databaseする必要がない。
# mysql -u test -p sample
④A5M2と連携する
テーブルの作成などはSQLの問題なので省略。
MySQLコンソールでクエリを叩くのはあまり好きではないので、
オブジェクトブラウザの「A5:SQL Mk-2」で接続できるようにしておく。
「データベース」―「データベースの追加と削除」-「追加」で「MySQL(直接接続)」を選択し、
「SSH2トンネル」タブで各情報を入力する。(接続方法はパスワード認証)
「基本」タブに戻って、各情報を入力して(ホスト名:localhost、ポート番号:3306)
「テスト接続」ボタンをクリックすると「接続に成功しました」を表示される。
これで「OK」ボタンをクリックすれば設定は完了。
JDBC等で直接サーバのデータベースに接続したい場合、VPSの3306ポートにアクセスしてもつながらない。
その場合にはTeraTermなどのツールで、SSH通信を用いてポートをつないであげるとよい。
TeraTermでVPSにログインした状態で、「設定」―「SSH転送」をクリック。
「追加」ボタンをクリックして、ローカルのポートに3306、ポートに3306を指定する。
これでTeraTermを閉じるまでの間、localhostの3306ポートがVPSの3306ポートにつながった状態になる。
今回はここまで。