mysqlのインストールと初期設定(OS:CentOS 64bitにて)

 データベースサーバーとして、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

*>————————————————————————————-<* (失敗談 gurime_08.gif
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 gurime_08.gif
 初めてインストールしたとき、ncursesが必要であることを知らずにmysqlのみインストールした。その時、make時に下記のエラーに悩まされた。
「termcap functions library… configure: error: No curses/termcap library found」

ncursesは、yumでインストールしても大丈夫
yum install ncurses-devel ncurses

(管理メモ gurime_07.gif
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

カテゴリー: mysql, サーバー タグ: , , パーマリンク

コメントを残す