MySQL 5.0 インストール
| Table of Contents |
インストール環境
-
OS
- CentOS 5.5 (kernel 2.6.18-194.11.1.el5)
-
パッケージ
- mysql-5.0.77-4.el5
- mysql-server-5.0.77-4.el5
インストール
-
mysql-serversのインストール
# yum install mysql-server
MySQLの設定
my.cnfの編集
-
パラメータ設定ファイル「MySQL.conf」を編集し、文字コードをUTF-8に変更します。
# vi /etc/my.cnf[mysqld]datadir=/var/lib/mysqlsocket=/var/lib/mysql/mysql.sockuser=mysqlold_passwords=1default-character-set=utf8 #追加[mysqld_safe]log-error=/var/log/mysqld.logpid-file=/var/run/mysqld/mysqld.piddefault-character-set=utf8 #追加
自動起動の設定
-
chkconfigコマンドで自動起動をONにします
# chkconfig mysqld on
-
chkconfigコマンドで自動起動の確認をします。
# chkconfig --list mysqldmysqld 0:off 1:off 2:on 3:on 4:on 5:on 6:off
起動
-
MySQLを起動します。
# /etc/init.d/mysqld start
rootパスワードの設定
-
mysqlデータベースへログインします。パスワードは何も入力せずにEnterを押します。
# mysql -u root -p mysqlEnter password:
※mysqlデータベースはmysqlのシステム情報を記録するためのデータベースです。
-
ユーザ情報を確認します。
mysql> SELECT host,user,password from user;+-----------+------+----------+| host | user | password |+-----------+------+----------+| localhost | root | || serv10 | root | || 127.0.0.1 | root | || localhost | | || serv10 | | |+-----------+------+----------+
-
rootユーザのパスワード(mysqladmin)を設定します。
mysql> SET PASSWORD FOR root@localhost=PASSWORD('mysqladmin');mysql> SET PASSWORD FOR root@serv10=PASSWORD('mysqladmin');mysql> SET PASSWORD FOR =PASSWORD('mysqladmin');
-
名前が空白のユーザを削除します。
mysql> DELETE FROM user WHERE user='';
-
正しく設定された事を確認します。
mysql> SELECT host,user,password from user;+-----------+------+------------------+| host | user | password |+-----------+------+------------------+| localhost | root | 6f38971106105e69 || serv10 | root | 6f38971106105e69 || 127.0.0.1 | root | 6f38971106105e69 |+-----------+------+------------------+
-
MySQLからログアウトします。
mysql> \q
ログローテートの設定
-
syslogのログローテートにmysqld.logを追加します。
# vi /etc/logrotate.d/syslog/var/log/mysqld.log #追加/var/log/messages/var/log/secure/var/log/maillog/var/log/spooler/var/log/boot.log/var/log/cron { sharedscripts postrotate /bin/kill -HUP `cat /var/run/syslogd.pid 2> /dev/null` 2> /dev/null || true /bin/kill -HUP `cat /var/run/rsyslogd.pid 2> /dev/null` 2> /dev/null || true endscript}
-
syslogを再起動します。
# /etc/init.d/syslog restart
バックアップ
データベース作成
-
バックアップ用のデータベースを作成します。
mysql> CREATE DATABASE test_db;
-
データベースを切替えます。
mysql> use test_db;
-
テーブルを作成します。
mysql> CREATE TABLE t_test(test datetime);mysql> DESC t_test;+-------+----------+------+-----+---------+-------+| Field | Type | Null | Key | Default | Extra |+-------+----------+------+-----+---------+-------+| test | datetime | YES | | NULL | |+-------+----------+------+-----+---------+-------+
- テーブルにデータを登録します。
-
MySQLを切断します。
mysql> \q
-
mysqldumpコマンドでバックアップを作成します。
# mysqldump -u root test_db --password=mysqladmin > test_db.dump
リストア
バックアップをリストアします。
-
MySQLへ接続します。
# mysql -u root -p mysqlEnter password:
-
リストアのため、データベースを削除します。
mysql> DROP DATABASE test_db;
-
空のデータベースを作成します。
mysql> CREATE DATABASE test_db;
-
テーブルが削除されている事を確認します。
mysql> use test_db;Database changedmysql> show tables;Empty set (0.00 sec)
-
MySQLを切断します。
mysql> \q
-
リストアを実行します。
# mysql -u root test_db --password=mysqladmin < test_db.dump
-
MySQLへ接続します。
# mysql -u root -p mysqlEnter password:
-
テーブルが復元されている事を確認します。
mysql> use test_dbmysql> show tables;+-------------------+| Tables_in_test_db |+-------------------+| t_test |+-------------------+
- テーブルのデータが復元されている事を確認します。
コマンド(一部抜粋)
-
ヘルプを表示する
mysql> \h
-
データベース一覧表示
mysql> SHOW DATABASES;
-
データベースの切替
mysql> use データベース名
-
テーブル一覧表示
mysql> SHOW TABLES;
-
カラム情報表示
mysql> desc user;
-
インデックス情報表示
mysql> SHOW INDEX FROM テーブル名;