次の手順では、Oracle Solaris x86 ホストに MySQL 5.1 と InnoDB ストレージエンジンをインストールする方法について説明します。
ファイル /etc/my.cnf
を作成し、次の内容を追加します。
[mysqld] user=mysql datadir=/usr/local/mysql/data basedir=/usr/local/mysql port=3306 socket=/tmp/mysql.sock max_allowed_packet=20M #transaction_isolation=READ-COMMITTED lower_case_table_names=1 max_connections=1000 skip-locking key_buffer=16K table_cache=4 sort_buffer_size=64K net_buffer_length=2K thread_stack=64K wait_timeout=31536000 innodb_data_home_dir=/usr/local/mysql/data innodb_data_file_path=ibdata1:10M:autoextend innodb_log_group_home_dir=/usr/local/mysql/data innodb_buffer_pool_size=50M innodb_additional_mem_pool_size=10M innodb_log_file_size=5M innodb_log_buffer_size=10M innodb_flush_log_at_trx_commit = 1 innodb_lock_wait_timeout = 50
次のコマンドを実行して、ユーザー「mysql」とグループ「mysql」を作成します。
# groupadd mysql # useradd -g mysql mysql
MySQL tar ファイルを入手し、解凍して、/
ディレクトリに格納します。
次のコマンドを実行して、ディレクトリ /usr/local
を作成します。
# mkdir /usr/local
次のコマンドを実行して、新しいディレクトリに切り替え、ディレクトリ内の MySQL ファイルを指す「mysql」というシンボリックリンクを作成します。
# cd /usr/local # ln -s /mysql-5.1.30-solaris10-i386 mysql # ls -lrt total 2 lrwxrwxrwx 1 root root 35 Nov 12 17:33 mysql -> /export/mysql-5.1.30-solaris10-i386 bash-3.00#
次のコマンドを実行して、ディレクトリに適切な所有者およびグループのアクセス権を含める必要があります。
# chgrp -R mysql /mysql-5.1.30-solaris10-i386 # chown -R mysql /mysql-5.1.30-solaris10-i386
ディレクトリのアクセス権も確認します。
# cd /usr/local/mysql # ls -lrt -rw-r--r-- 1 mysql mysql 19071 Nov 15 13:07 COPYING -rw-r--r-- 1 mysql mysql 5139 Nov 15 13:07 EXCEPTIONS-CLIENT -rw-r--r-- 1 mysql mysql 8767 Nov 15 13:07 INSTALL-BINARY -rw-r--r-- 1 mysql mysql 1410 Nov 15 13:07 README drwxr-xr-x 2 mysql mysql 1536 Nov 15 13:07 bin drwxr-xr-x 4 mysql mysql 512 Nov 15 13:07 data drwxr-xr-x 2 mysql mysql 512 Nov 15 13:05 docs drwxr-xr-x 2 mysql mysql 1024 Nov 15 13:05 include drwxr-xr-x 3 mysql mysql 1024 Nov 15 13:06 lib drwxr-xr-x 4 mysql mysql 512 Nov 15 13:06 man drwxr-xr-x 10 mysql mysql 512 Nov 15 13:07 mysql-test drwxr-xr-x 2 mysql mysql 512 Nov 15 13:07 scripts drwxr-xr-x 27 mysql mysql 1024 Nov 15 13:07 share drwxr-xr-x 5 mysql mysql 1024 Nov 15 13:07 sql-bench drwxr-xr-x 2 mysql mysql 512 Nov 15 13:07 support-files
/usr/local/mysql
ディレクトリから、次のコマンドを実行し、対応する出力が得られることを確認します。
# ./scripts/mysql_install_db --user=mysql
To start mysqld at boot time you have to copy support-files/mysql.server to the right place for your system PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER ! To do so, start the server, then issue the following commands: /usr/local/mysql/bin/mysqladmin -u root password 'new-password' /usr/local/mysql/bin/mysqladmin -u root -h wipro-33 password 'new-password' Alternatively you can run: /usr/local/mysql/bin/mysql_secure_installation which will also give you the option of removing the test databases and anonymous user created by default. This is strongly recommended for production servers. See the manual for more instructions. You can start the MySQL daemon with: cd /usr/local/mysql ; /usr/local/mysql/bin/mysqld_safe ANDAMP You can test the MySQL daemon with mysql-test-run.pl cd /usr/local/mysql/mysql-test ; perl mysql-test-run.pl Please report any problems with the /usr/local/mysql/scripts/mysqlbug script! The latest information about MySQL is available at http://www.mysql.com/ Support MySQL by buying support/licenses from http://shop.mysql.com/
/usr/local/mysql
ディレクトリから、次のコマンドを実行し、対応する出力が得られるかどうかを確認します。
# ./bin/mysqld_safe --defaults-file=/etc/my.cnf --ledir=/usr/local/mysql/bin --user=mysql ANDAMP
[1] 15885 # 090323 22:36:26 mysqld_safe Logging to '/usr/local/mysql/data/wipro-33.err'. 090323 22:36:26 mysqld_safe Starting mysqld daemon with databases from /usr/local/mysql/data
ここで、端末はそのままの状態にしておきます。有効にしたプロセスが常に実行されることを確認するために、コンソールに移動し、このプロセスを開始します。
# cd /usr/local/mysql/bin # ./mysql --user=root
Welcome to the MySQL monitor. Commands end with ; or g. Your MySQL connection id is 1 Server version: 5.1.30 MySQL Community Server (GPL) Type 'help;' or 'h' for help. Type 'c' to clear the buffer. mysql>
MySQL デーモンを停止する場合は、端末で次のコマンドを実行してデーモンを停止します。
# ./mysqladmin shutdown
コマンドが実行されると、そのままにしてある端末には次の出力があるはずです。
# /usr/local/mysql/bin/mysqld_safe --defaults-file=/etc/my.cnf --ledir=/usr/local/mysql/bin --user=mysql ANDAMP [1] 16017 # 090323 22:47:38 mysqld_safe Logging to '/usr/local/mysql/data/wipro-33.err'. 090323 22:47:38 mysqld_safe Starting mysqld daemon with databases from /usr/local/mysql/data 090323 22:49:31 mysqld_safe mysqld from pid file /usr/local/mysql/data/wipro-33.pid ended