somemo's diary

プログラマ、雑記、プログラミング関係はLinkから、数式はこっちでまとめていることが多い

【MySQL】ソースでの初期設定【Linux】

思い返してみると、Linuxでのmysql経験が少なかったのでメモしておきます。

mysqlユーザの追加

まずはユーザが所属するグループを追加します。

groupadd mysql

次にユーザを追加します。

useradd -r -g mysql mysql
# -rはユーザのホームディレクトリ削除

rpmでインストールしたことがあるからなのか、作成されていました。

mysqlディレクトリのオーナー変更

mysql関連のファイル・ディレクトリをrootからmysqlに変更します。

cd mysqlディレクトリ
chown -R mysql:mysql .

設定ファイル作成

mysqlの設定ファイルmy.cnfの認識場所はデフォルトで、/etc/my.cnfとマニュアルに書いてあったので、ここにkっピーします。

cp support-files/my-medium.cnf /etc/my.cnf

初期化

初期化をします。dataディレクトリにmysqlとtestデータが作成されるようです。そして、なぜかroot所有にしてdataだけmysql所有にします。データの所有者を変えるのは分かるんですが、全体の所有をrootにするのはちょっとわかっていません。

scripts/mysql_install_db --user=mysql
chown -R root .
chown -R mysql data

サーバー起動

サーバーの起動をします。

support-files/mysql.server start

これを起動時に実行できるように、サービスに登録します。まず、上記のスクリプトをinit.dディレクトリにコピーします。

cp support-files/mysql.server /etc/init.d/mysqld

サービス登録

次にサービスとしての登録と実行です。

chkconfig --add mysqld
#確認用 chkconfig --list

service mysqld start

パスを通す

mysqlまでのパスを打つのは面倒なのでパスを通します。ログインユーザだけでなく、全ユーザで行えるように/etc/bashrcに以下の設定を追加します。

export PATH=$PATH:/usr/local/mysql/bin

mysqlのrootユーザのパス変更

mysqlのrootユーザのパスは、デフォルトでは設定されていなので設定しておきます。

mysqladmin -u root password xxxx