![]() |
LINUX |
MySQL-5.0.67のインストール
・xoopsサイト構築のためデータベースとして利用します
・mysql-5.0.67をソースからインストールし、設定しています
・mysql-4.0.xとmysql-5.0.xでは構造的に大きな違いがあります
・ALLFreeなライセンスでないので注意します
・datadirを/home/mysqlに変更しています
・ソースの取得、削除は省略します
・エディタ、ファイラーの操作は省略します
・ソースを展開したら説明文を読みましょう
・Enterキーを省略します
・ログイン端末で "#" はroot、"$" は一般ユーザのプロンプトの記号です
・設定ファイルで "#" で始まる行はコメントとして解釈されます
関連サイト| :mysql-5.0.67.tar.gz | (http://dev/mysql.com/) |
参照ファイル:パッケージの追加
:最初の設定 (Xen)
:opensslのインストール
インストール環境| :OS | CentOS 5.2 |
| :selinux | disabled or permissive |
| :インストール先 | /usr/local/ |
| :作業 | /usr/src |
| :言語 | en_US.UTF-8 |
| :ユーザー | rootで実行 |
・メンテナンスの場合は一般ユーザから行います
mysql-5.0.67
ユーザmysqlの作成・uid/gid情報を参照
・ログの出力先はmy.cnfで指定しています
[root@jupiter:~]
# useradd -M -u 27 -d /home/mysql -s /sbin/nologin mysql
# mkdir -m 751 /var/lib/mysql
# touch /var/lib/mysql/mysqld-err.log
# touch /var/lib/mysql/mysqld.log
# chown -R mysql:mysql /var/lib/mysql
mysqlのインストール・openssl-develを必要とします
・環境変数の初期化のためインストール後、ログアウトします
# cd /usr/src [root@jupiter:/usr/src] # tar zxvf mysql-5.0.67.tar.gz # chown -R root:root mysql-5.0.67 # cd mysql-5.0.67 [root@jupiter:/usr/src/mysql-5.0.67] # make distclean
・コンフィグシェルスクリプトを実効します
・同じディレクトリで実行します
・mysql50cfg.sh (詳細別記)
# source mysql50cfg.sh # make # make install # cd .. [root@jupiter:/usr/src] # tar cf mysql-5.0.67-080809.tar mysql-5.0.67/ # bzip2 mysql-5.0.67-080809.tar
キャッシュ情報の更新・/etc/ld.so.conf.d/mysql.confに既述します
# cd ~
[root@jupiter:~]
# echo /usr/local/lib/mysql >> /etc/ld.so.conf.d/mysql.conf
・キャッシュの更新
# ldconfig # ldconfig -p | grep mysql
サーバ用my.cnfのコピー・/usr/local/share/mysqlからmy-medium.cnfをコピーします
・configureで指定しないと/usr/local/etc/my.cnfになります
[root@jupiter:~]
# cp /usr/local/share/mysql/my-medium.cnf /etc/my.cnf
/etc/my.cnfファイルを修正します
MySQLシステムデータベースをつくります・mysql_install_dbを実行します
・my.cnfを読み込んで/home/mysqlが作られます
・/home/mysqlのユーザ・グループ・パーミッションを変更します
[root@jupiter:~]
# mysql_install_db
# chown -R mysql:mysql /home/mysql
# chmod 751 /home/mysql
自動起動スクリプトの修正・起動ファイルをコピーします
[root@jupiter:~]
# cp /usr/local/share/mysql/mysql.server /etc/init.d/mysql
:/etc/rc.d/init.d/mysql
・灰色部分 削除
・紫色部分 変更
・省略
# Comments to support chkconfig on RedHat Linux
# chkconfig: 235 64 36
# description: A very fast and reliable SQL database engine.
# Comments to support LSB init script conventions
### BEGIN INIT INFO
# Provides: mysql
# Required-Start: $local_fs $network $remote_fs
# Should-Start: ypbind nscd ldap ntpd xntpd
# Required-Stop: $local_fs $network $remote_fs
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: start and stop MySQL
# Description: MySQL is a very fast and reliable SQL database engine.
### END INIT INFO
・省略
tcp_wrappersで制御します・--with-libwrapオプション付の場合 /etc/hosts.allow、hosts.denyで制御します
:/etc/hosts.allow
ALL: 127.0.0.1
mysqld: 192.168.0. EXCEPT 192.168.0.21
:/etc/hosts.deny
ALL: ALL
selinuxヘの対応 (selinuxが有効の場合):新規インストールファイルのselinuxラベルを修正
[root@jupiter:~]
# restorecon -Rv /etc
# restorecon -Rv /usr/local
# restorecon -RFv /home/mysql
# restorecon -Rv /var/lib
mysqlの起動:自動起動をonにし、mysqldを起動します
[root@jupiter:~]
# chkconfig --add mysql
# service mysql start
:rootパスワードを設定します
・linux管理者のrootではないので、パスワードは変えます
・フルドメイン名はmysqlを設置したサーバ名です
・/root/.bash_historyにパスワードが平文で記録されるので注意
[root@jupiter:~]
# mysqladmin -u root password 'xxxxxxxxxx'
# mysqladmin -u root -h earth.528p.com password 'xxxxxxxxxx'
mysqlログのローテーション
:/ete/logrotate.d/mysql
・MySQL-5.0.67で新規に作られるmysql-log-rotateではパスワードを要求されます
/var/lib/mysql/mysqld.log /var/lib/mysql/mysqld-err.log {
rotate 4
create
missingok
prerotate
[ -e /var/lock/subsys/mysqld ] && /bin/kill -HUP \
`cat /var/lib/mysql/mysqld.pid 2> /dev/null ` || /bin/true
endscript
postrotate
[ -e /var/lock/subsys/mysqld ] && /bin/kill -HUP \
`cat /var/lib/mysql/mysqld.pid 2> /dev/null ` || /bin/true
endscript
}
:logrotationの確認
[root@jupiter:~]
# logrotate -f /etc/logrotate.d/mysql
・うまくいかない場合、設定ファイルを修正します
・ただし、var/lib/logrotate.statusに前回rotateした日付が設定されます
・logrotate.statusの日付をエディタで修正します
・調整後は/etc/logrotate.confと重複する設定をコメントにします
・"rotate 4" "create" など
・mysqladminを利用してログをフラッシュします
・root (mysql管理者) のパスワードを要求します
簡単なmysqlの操作
・/root/.mysql_historyにパスワードが平文で記録されるので注意
・root (mysql管理者) でログインします
[root@jupiter:~] # mysql -u root mysql -p password:← パスワードを入力
・データベースの作成 (例 xoopsdata)
mysql> create database xoopsdata;
・データベースに全権を持つユーザーの作成
(例 xoopsdata,ユーザーuranus,パスワードyyyyyyyyyy)
mysql> grant all on xoopsdata.* to uranus@localhost identified by 'yyyyyyyyyy';
mysql> flush privileges;
・データベースの削除 (例 test)
mysql> drop database test; mysql> flush privileges;
・匿名ユーザーの削除
mysql> delete from mysql.user where user=''; mysql> flush privileges;
・データベースの表示
mysql> show databases;
・ユーザーテーブルの表示
mysql> select host,user,password from mysql.user;
・ログアウト
mysql> exit;
![]() |
Copyright(c) 528p.com All Rights Reserved. |

