このページは MySQL の
についてのメモになります。
[前提条件]
今回は stow でパッケージ管理をします。 そのため、stow コマンドが実行可能であることが条件です。
% groupadd mysql % adduser -g mysql -d /usr/local/var mysql
ユーザーホームディレクトリは、MySQLのデータディレクトリである /usr/local/var になる。
( /home/mysql にした方がよかったかも )
% tar xvfz mysql-5.5.0.33.tar.gz % cd mysql-5.5.0.33/ % ./configure --with-charset=ujis \ --with-extra-charsets=all \ --with-mysqld-user=mysql \ --prefix=/usr/local/stow/mysql-5.0.33 % make % make install※ –prefix は Version 毎に変更になるので注意
checking for termcap functions library... configure: error : No curses/termcap library found
% apt-get install libncurses5-dev
% sudo stow mysql
% sudo scripts/mysql_install_db --user=mysql
% sudo chown -R mysql:mysql /usr/local/stow/mysql
としてから、
% sudo -u mysql scripts/mysql_install_db
(私の環境では /usr/local/var を新規で作った。本来なら自動で作成されているらしい)
% sudo mkdir /usr/local/var % sudo chown mysql:mysql /usr/local/var
% sudo cp support-files/my-medium.cnf /etc/my.cnf
ここでは標準的な設定ファイルを使用するが、用途に応じて my-huge.cnf、my-large.cnf、my-small.cnf のどれかを選択。
下記では、デフォルトのテーブルタイプを「InnoDB」、デフォルトの文字コードを「EUC」に設定。
[mysqld] : default-table-type=InnoDB default-character-set=ujis :
必要であれば[mysqldump]セクションにも追加。
[mysqldump] : default-character-set=ujis :
[mysqldump]セクションに追加した場合は、mysqlコマンドだけでなくmysqladminコマンドにも影響する。
5.0ではmysqladminでエラーが発生するらしい。。
% sudo /usr/local/bin/mysqld_safe --user=mysql &エラーになる場合は、データベース保存先ディレクトリ中の「ホスト名.err」ファイルを参照する。
% mysqladmin variable
% mysqladmin -u root password new_password
% mysqladmin -u root shutdown
展開されたソースの support-files にrcスクリプトのひな型 mysql.server があるので、これを使用。
mysql.server を mysql という名前でコピーし、実行権限を与える。
% cd support-files % sudo cp -p mysql.server mysql % sudo chmod +x mysql
% sudo mv mysql /etc/init.d/
% cd /etc/rc2.d/ % sudo ln -s ../init.d/mysql S90mysql
% sudo shutdown -r now
ディレクトリ | 保存されるファイル |
---|---|
/usr/local/libexec/mysqld | MySQLサーバ |
/usr/local/bin/ | コマンド類 |
/usr/local/lib/mysql/ | ライブラリ |
/usr/local/include/mysql/ | includeファイル |
/usr/local/var/ | データベース保存先 |
--with-charset デフォルトで使用される文字コードを指定。EUCならujis、Shift-JISならsjisになります。 --with-extra-charset デフォルトで指定された文字コード以外をサポートしたい場合の指定。 ここでは `all' とする。 これを指定しておくと、makeをやり直さなくても、異なる文字コードでサーバを起動することができる。 --with-mysqld-user MySQLデーモンを起動するユーザーの指定。例では先ほど作成したユーザー`mysql'にしています。 --prefix インストールPATH。