UbuntuでMySQL5環境構築のまとめ

ネタもないので、今までMySQL関連で覚えた事をまとめてみます。内容としてはUbuntuマシンにMySQL5をインストールしてから、ユーザを作成して、外部SQL制御プログラムでSQL文を実行できるようになるまでの環境構築のまとめです。

ホスト環境

確認なのでUbuntu9.04をライブ起動させパスワードを設定&sshdをインストール。
本番はマシンにLinuxをインストールした環境でやるのでこの作業は不要です。

 ubuntu@ubuntu:~$ passwd ubuntu(ライブ起動なのでやっておきます)
 ubuntu@ubuntu:~$ sudo apt-get install openssh-server(これ以降の作業をsshでやりたいので)

MySQLのインストール

aptでインストール

 ubuntu@ubuntu:~$ sudo apt-get install mysql-server

インストール中にroot(MySQL内のroot)ユーザのパスワードを設定しろって言われるので設定する。

外部からの接続を許可する

MySQLをインストールしただけの状態では外部ホストからDBに接続できません。
リモートのSQL制御プログラムから接続できると便利だったり、JavaPHP等のアプリケーションサーバ
マシンを分離させたい場合もあると思うので、127.0.0.1以外のアドレスからでも接続できるようにします。

 ubuntu@ubuntu:~$ sudo vi /etc/mysql/my.cnf
 #「bind-address = 127.0.0.1」の行を#でコメントアウト
 ubuntu@ubuntu:~$ sudo /etc/init.d/mysql restart
 #MySQLの再起動

MySQLユーザの作成

rootユーザ以外にも、DB利用者用アカウントと外部SQL制御プログラム用アカウントを作成します

 ubuntu@ubuntu:~$ mysql -u root -p
 Enter password: ****(インストール時に設定したパスワード)
 Welcome to the MySQL monitor.  Commands end with ; or \g.
 Your MySQL connection id is 33
 Server version: 5.0.67-0ubuntu6 (Ubuntu)
 
 Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
 
 # 何でも出来、ローカルからも外部ホストからも接続できるdbadminユーザ、パスワードあり
 mysql>GRANT ALL PRIVILEGES ON *.* TO dbadmin@localhost IDENTIFIED BY 'パスワード' WITH GRANT OPTION;
 mysql>GRANT ALL PRIVILEGES ON *.* TO dbadmin@"%" IDENTIFIED BY 'パスワード' WITH GRANT OPTION;
 # ローカルからのみ接続できるDB利用者ユーザ、パスワードなし
 mysql>GRANT USAGE ON *.* TO guest@localhost;
 # 撤退
 mysql>exit

外部SQL制御プログラムを使用できるようにする

今回は外部SQL制御プログラムとして「かねやんMySQLAdmin」を使ってみます。
かねやんMySQLAdmin作者HPよりKMYSJIS143.lzhをダウンロード、MySQL公式HPよりmysql-5.1.41-win32.zipからダウンロードします。
次に両方解凍してKMYSJIS143\libmysql.dllをmysql-5.1.41-win32\bin\libmysql.dllで上書きします。(KMYSJIS143に最初から入ってるlibmysql.dllでは、ライブラリのバージョンが異なっているため接続できません)

これで接続できるようになったので、さっき作成したdbadminユーザで接続してみます。KMYSJIS143を起動して下のパラメータで接続できたら設定成功です。

ユーザ名:dbadmin
パスワード:さっきのGRANT文で設定したパスワード
ホスト名:今まで作業してたマシンのIPアドレス
ポート番号:3306