Tips

MySQL インストールと初期設定 【初級編 第1回】

MySQL インストールと初期設定 【初級編 第1回】

MySQLのインストールから初期設定まで

以下に、MySQLのインストールから初期設定まで記述していく

MySQLのインストール

MySQLのインストールは Linuxであれば下記のコマンドでOK.
# yum install mysql

初回時の設定

インストール後、MySQLを起動するためのユーザをShell上にも作成(別に作らなくてもいいが rootや一般ユーザで起動するよりは、
mysqld を起動する専用のユーザをShellを与えずに作成したほうがセキュリティ上は好ましい)
またサービスごとに専用のユーザを割り当てることで、そのユーザのパスワードが第3者にばれてもそのサービスだけにしか影響を及ぼさないので被害を最小限にできるというメリットもある。
ただし yumや apt-getを使用して MySQLをインストールした場合はユーザが作成されているので、改めて作成する必要はない

yumを使用した場合

ステータスの確認

yumを使用して作成されたユーザは以下のようなステータスになっていた。また mysqlグループも作成されていてそこに mysqlユーザが含まれている
[root@localhost ~]# getent passwd | grep mysql
mysql:x:27:27:MySQL Server:/var/lib/mysql:/bin/bash
[root@localhost ~]# cat /etc/shadow | grep mysql
mysql:!!:15576::::::
[root@localhost ~]# getent group | grep mysql
mysql:x:27:
ホームは /var/lib/mysql でそこに mysql関連のファイルがある。パスワードは設定されていない状態

ちなみに mysqlのプロセスは mysqlユーザで起動していた
[root@localhost ~]# ps aux | grep mysql
root 24598 0.0 0.2 5572 1304 ? S Oct30 0:00 /bin/sh /usr/bin/mysqld_safe –datadir=/var/lib/mysql –socket=/var/lib/mysql/mysql.sock –pid-file=/var/run/mysqld/mysqld.pid –federated –basedir=/usr –user=mysql
mysql 24693 0.0 2.9 132120 14944 ? Sl Oct30 0:00 /usr/libexec/mysqld –basedir=/usr –datadir=/var/lib/mysql –user=mysql –federated –log-error=/var/log/mysqld.log –pid-file=/var/run/mysqld/mysqld.pid –socket=/var/lib/mysql/mysql.sock
root 30010 0.0 0.1 5216 784 pts/3 R+ 17:33 0:00 grep mysql
ちなみにデータベースファイルは以下の場所に保存されていた
[root@localhost ~]# ls -l /var/lib/ | grep mysql
drwxr-xr-x 5 mysql mysql 4096 10月 31 17:16 mysql

ちなみに最近は、最初に行う必要のあるDBの初期化も yumを使用するとやってくれるようだ。
データベースの初期化とは、データベースを使用できるようにまっさらな状態にする作業である。

mysqld_safeに関して
mysqld を起動すると mysqld_safeも一緒に起動されているが
こいつの役目は /etc/init.d/mysqld start をして mysqld を起動する際に安全に起動するために使用する
/etc/init.d/mysqld start → mysqld_safeが起動する → mysqld_safe内でmysqldを起動する

起動の流れについては
# sh -x /etc/init.d/mysqld start
をしてみると流れがわかる

さらに mysqld_safe では起動後の mysqld のプロセスを監視して、mysqldが異常終了した場合などには、
mysqldを再起動させたりすることができる。

———————————————————————————————

ソースやパッケージからインストールした場合(yumなどを使用せずに)

MySQLをパッケージやソースからインストールしたら、MySQLを起動するためのユーザを作成して、
ディレクトリの所有権などを変更する必要がある。

以下実行したコマンド

グループを作成する
# groupadd mysql

ユーザの作成をする
# useradd -u mysql -g mysql -p pass -s /bin/false -d /mysql-install-path/mysql

MySQLサーバが実行中であれば以下のコマンドで停止する
# mysqladmin shutdown

MySQL用datadirを mysqlユーザの所有権に変更する
datadirどこにあるかは mysqlの設定ファイルである etc/my.cnf 内に記述されている
# chown -R mysql:mysql /mysql-install-path/mysql

etc/my.cnf ファイルは以下の場所にあったりするので、etc/ 以下に置く必要がある。
# cp /mysql-src-path/support-files/my-medium.cnf /mysql-install-path/etc/my.cnf

起動用のスクリプトもコピーする
# cp /mysql-src-path/support-files/mysql.server /mysql-install-path/etc/init.d/

起動用のスクリプトの実行権限を与える
# chmod +x /mysql-install-path/etc/init.d/mysql.server

/etc/rc3.d/ 以下に先ほどの起動用スクリプトのシンボリックリンクを貼ればOS起動時にも起動するようになる
# ln -s /mysql-install-path/etc/init.d/mysql.server /etc/rc3.d/S99mysql

mysqlの起動
# /mysql-install-path/etc/init.d/mysql.server start

起動の確認
# ps aux | grep mysql

以上です。

SQLが学べる 関連連載リンク

データベースの基礎が学べるSQL基礎講座
SQL基礎 連載

練習問題を通じてSQL理解度アップの人気連載!
SQL練習問題集

Recent News

Recent Tips

Tag Search