前回のapache入れたの続きです。
mysqlのインストール
uname -a でOSを確認して
http://dev.mysql.com/downloads/mysql/ ここからDL先を探します。
$cd /usr/local/src/
$wget http://dev.mysql.com/get/Downloads/MySQL-5.5/mysql-5.5.18-linux2.6-x86_64.tar.gz/from/http://ftp.jaist.ac.jp/pub/mysql/
$tar xzvf mysql-5.5.18-linux2.6-x86_64.tar.gz
$wget http://dev.mysql.com/get/Downloads/MySQL-5.5/mysql-5.5.18-linux2.6-x86_64.tar.gz/from/http://ftp.jaist.ac.jp/pub/mysql/
$tar xzvf mysql-5.5.18-linux2.6-x86_64.tar.gz
解凍後の設定は、こことmysql-5.5.18-linux2.6-x86_64ディレクトリ内のINSTALL-BINARYを参考にしました。
#ln -s /usr/local/src/mysql-5.5.18-linux2.6-x86_64 /usr/local/mysql
#cd mysql-5.5.18-linux2.6-x86_64/scripts/
#./mysql_install_db –user=mysqluser –basedir=/usr/local/mysql –datadir=/usr/local/mysql/data/
#vi /etc/my.cnf
(support-files/my-large.cnf あたりを参考に)
#cd mysql-5.5.18-linux2.6-x86_64/scripts/
#./mysql_install_db –user=mysqluser –basedir=/usr/local/mysql –datadir=/usr/local/mysql/data/
#vi /etc/my.cnf
(support-files/my-large.cnf あたりを参考に)
起動
$/usr/local/mysql/bin/mysqld_safe –defaults-file=/etc/my.cnf &
root パスワード設定
$/usr/local/mysql/bin/mysqladmin -u root password ‘new-password’
ログイン
$./mysql -u root -p
一般アカウントを作成
>mysql grant all privileges on database_name.* to user_name@localhost identified by ‘password’
>mysql exit
>mysql exit
アカウント確認
$./mysql -u user_name -p
DB権限確認
>mysql create database database_name
Query OK, 1 row affected (0.01 sec)
Query OK, 1 row affected (0.01 sec)
違う名前のDB’hoge’を作ろうとすると
>mysql create database hoge
Query OK, 1 row affected (0.01 sec)
ERROR 1044 (42000): Access denied for user ‘user_name’@’localhost’ to database ‘hoge’
Query OK, 1 row affected (0.01 sec)
ERROR 1044 (42000): Access denied for user ‘user_name’@’localhost’ to database ‘hoge’
怒られたのでOK
>mysql exit
自動起動設定
#cp /usr/local/mysql/support-files/mysql.server /etc/rc.d/init.d/mysqld
試しに
#/etc/rc.d/init.d/mysqld start
Starting MySQL [ OK ]
Starting MySQL [ OK ]
自動起動設定
#chkconfig –add mysqld
自動起動確認
#reboot
再度sshでログインして
#ps -aux | grep mysqld
あれ?動いてないです。調べるとrootで実行するとmysqld_safe がエラーでるようになってたのが原因のようです。
エラー内容はこんな感じ
111201 23:45:31 [ERROR] Fatal error: Can’t change to run as user ‘mysql’ ; Please check that the user exists!
rootユーザで実行すると、mysqlではmysqlユーザで動かそうとするようです。そんなユーザは作ってませんので、当然エラーでますね。
うーん、権限設計がまずかった?
対策
/usr/local/mysql/bin/mysqld_safeを修正
user=’mysql’
↓
user=’database_user’
↓
user=’database_user’
先ほど作ったユーザに変更して対応しました。
これで無事mysqlの自動起動を確認
次はphpと行きたいところですが、事前準備します。
さくらVPSにLAMP環境構築〜GD編