データベースサーバーとして、mysqlのインストールと初期設定を紹介します。mysqlをインストールするためには、ncursesが必要になりますので、先に、ncursesをインストールします。
ncursesのインストール
ncursesのダウンロードは、
http://sourceforge.jp/projects/freshmeat_ncurses/releases/
からダウンロードできます。ダウンロードしたソースを「/usr/local/src」に配置します。そして、インストール作業に移ります。
[root@localhost src]# tar zxvf ncurses-5.7.tar.gz
[root@localhost src]# cd ncurses-5.7
[root@localhost ncurses-5.7]# ./configure –prefix=/usr –with-shared –without-debug
[root@localhost ncurses-5.7]# make
[root@localhost ncurses-5.7]# make install
以上で、ncursesのインストールは完了です。
mysqlのインストール
mysqlのダウンロードは、
http://www-jp.mysql.com/downloads/mysql/
からダウンロードします。「Source Code」からダウンロードしてください。ダウンロードしたソースを「/usr/local/src」に配置します。そして、インストール作業に移ります。
mysql用のユーザーの作成
[root@localhost ~]# groupadd mysql
[root@localhost ~]# useradd mysql -g mysql -M -s /sbin/nologin
↓uid gidを指定して作成する場合
[root@localhost ~]# groupadd mysql -g 27
[root@localhost ~]# useradd mysql -u 27 -g 27 -M -s /sbin/nologin
[root@localhost src]# tar zxvf mysql-5.1.52.tar.gz
[root@localhost src]# cd mysql-5.1.52
[root@localhost mysql-5.1.52]#./configure –prefix=/usr/local/mysql –with-charset=ujis –with-extra-charsets=all –with-mysqld-user=mysql
文字コードの変更は、ujis(EUC) → utf8(UTF-8 3バイト)utf8mb4(UTF-8 4バイト)などに変更してください。
[root@localhost mysql-5.1.52]# make
[root@localhost mysql-5.1.52]# make install
*>————————————————————————————-<*
mysqlの初期設定と起動まで
データーベースの初期化。注意 データベースにデーターがある場合は、初期化されるので注意してください。
[root@localhost mysql-5.1.52]# scripts/mysql_install_db
ユーザー権限の変更
[root@localhost mysql-5.1.52]# chown -R mysql:mysql /usr/local/mysql/
設定ファイルと起動ファイルのコピー
[root@localhost mysql-5.1.52]# cp /usr/local/mysql/share/mysql/mysql.server /etc/init.d/mysqld
[root@localhost mysql-5.1.52]# cp support-files/my-medium.cnf /etc/my.cnf
各ランレベルでの起動設定
[root@localhost mysql-5.1.52]# cd /etc/rc3.d/
[root@localhost rc3.d]# ln -s /etc/init.d/mysqld S99mysqld
[root@localhost rc3.d]# cd /etc/rc0.d/
[root@localhost rc0.d]# ln -s /etc/init.d/mysqld K10mysqld
起動テスト
[root@localhost rc0.d]# /etc/init.d/mysqld start
Starting MySQL. [ OK ]
プロセスの確認
[root@localhost ~]# ps -aux | grep mysqld
プロセスがあれば、インストールは完了です。
*>————————————————————————————-<*
mysqlのログインパスワードの設定
mysqlにログインしてroot(管理者)のパスワードを変更します。デフォルトでは、パスワードが設定されていません。セキュリティ的に良くないので、パスワードを設定することをオススメします。
[root@localhost rc0.d]# /usr/local/mysql/bin/mysql -u root -p
Enter password:
mysql> use mysql
mysql> update user set Password=password(‘xxxxxxxx’) where User=’root’;
mysql> FLUSH PRIVILEGES;
mysql> exit;
mysqlを再起動し、先ほどのパスワード(xxxxxxxx)ログインできれば、OKです。
[root@localhost rc0.d]# /etc/init.d/mysqld restart
[root@localhost rc0.d]# /usr/local/mysql/bin/mysql -u root -p
Enter password: xxxxxxxx
*>————————————————————————————-<*
mysqlの自動起動
下記のファイルに起動コマンドを記述してください。
[root@localhost ~]# vi /etc/rc.d/rc.local
/etc/init.d/mysqld start
または
[root@localhost ~]# chkconfig mysqld on
*>————————————————————————————-<*
(失敗談 )
msyqlをインストールしたとき、
「Can’t connect to local MySQL server through socket ‘/tmp/mysql.sock’」
と言うような感じで、socket errorになりました。これは、設定ファイル「my.cof」に記載されているsocketがないことが原因です。僕の場合は、OSのインストール時にmysqlが入っていたのが原因でした。(opne officeのインストールで入ってきました。)
インストールする前に、確認します。
[root@localhost ~]# rpm -qa | grep mysql
依存関係に問題がなければ、削除してください。
[root@localhost ~]# yum remove mysql
(失敗談 その2 )
初めてインストールしたとき、ncursesが必要であることを知らずにmysqlのみインストールした。その時、make時に下記のエラーに悩まされた。
「termcap functions library… configure: error: No curses/termcap library found」
ncursesは、yumでインストールしても大丈夫
yum install ncurses-devel ncurses
(管理メモ )
mysqlのデータは、「/usr/local/mysql/var/」に収納されています。mysqlのエラーログは下記の場所にあるので、確認してください。
[root@localhost ~]# cat /usr/local/mysql/var/localhost.localdomain.err
(管理メモ その2)
fedora14から15にアップグレードしたとき、ログイン画面に「mysql」ユーザーが出現した。原因は「mysql」のUIDが500番以上になっていたためです。500番以内の数字に変更するとログイン画面に表示されなくなります。27番はyumでインストールしたときの番号です。
[root@localhost ~]# groupmod -g 27 mysql
[root@localhost ~]# usermod -u 27 -U mysql
[root@localhost ~]# tail -n 100 /etc/passwd