MySQL 5.0 インストール +
インストール環境 +
- 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/mysql socket=/var/lib/mysql/mysql.sock user=mysql old_passwords=1 default-character-set=utf8 #追加 [mysqld_safe] log-error=/var/log/mysqld.log pid-file=/var/run/mysqld/mysqld.pid default-character-set=utf8 #追加
自動起動の設定 +
- chkconfigコマンドで自動起動をONにします
# chkconfig mysqld on
- chkconfigコマンドで自動起動の確認をします。
# chkconfig --list mysqld mysqld 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 mysql Enter 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 root@127.0.0.1=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> INSERT INTO t_test VALUES (NOW()); mysql> SELECT * FROM t_test; +---------------------+ | test | +---------------------+ | 2010-08-28 15:24:17 | +---------------------+
- MySQLを切断します。
mysql> \q
- mysqldumpコマンドでバックアップを作成します。
# mysqldump -u root test_db --password=mysqladmin > test_db.dump
リストア +
バックアップをリストアします。
- MySQLへ接続します。
# mysql -u root -p mysql Enter password:
- リストアのため、データベースを削除します。
mysql> DROP DATABASE test_db;
- 空のデータベースを作成します。
mysql> CREATE DATABASE test_db;
- テーブルが削除されている事を確認します。
mysql> use test_db; Database changed mysql> 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 mysql Enter password:
- テーブルが復元されている事を確認します。
mysql> use test_db mysql> show tables; +-------------------+ | Tables_in_test_db | +-------------------+ | t_test | +-------------------+
- テーブルのデータが復元されている事を確認します。
mysql> SELECT * FROM t_test; +---------------------+ | test | +---------------------+ | 2010-08-28 15:24:17 | +---------------------+
コマンド(一部抜粋) +
- ヘルプを表示する
mysql> \h
- データベース一覧表示
mysql> SHOW DATABASES;
- データベースの切替
mysql> use データベース名
- テーブル一覧表示
mysql> SHOW TABLES;
- カラム情報表示
mysql> desc user;
- インデックス情報表示
mysql> SHOW INDEX FROM テーブル名;