linux_mysql_tutorial

mysql チュートリアル


概要

インストールしてから実際に動作させるまでの流れ

+ コンテンツ一覧

実行環境


チュートリアル


基本的な起動~停止

# mysqld 起動
/opt/mysql/support-files/mysql.server start
# mysqld 停止
/opt/mysql/support-files/mysql.server stop
# mysqld 再起動
/opt/mysql/support-files/mysql.server restart

起動スクリプト組み込み

# 起動スクリプト作成
cp /opt/mysql/support-files/mysql.server /etc/init.d/mysqld
# REDHAT系管理登録
chkconfig --add mysqld
# サービス起動
service mysqld start
# サービス停止
service mysqld stop
# サービス再起動
service mysqld restart

ログイン

# DBアクセス
mysql
# ユーザ指定
mysql -uroot
# パスワードを使用してログイン
mysql -uroot -p
# パスワードをコンソールで指定してログイン
mysql -uroot -proot_pass
# DBを指定してログイン
mysql -uroot -Dmysql

レプリケーション構築


構築手順

Master サーバ
my.cnfに以下の記述を実施

[mysqld]
log-bin=mysql-bin
server-id=1

mysqlを再起動
./support-files/mysql.server restart

Slaveサーバ
my.cnfに以下の記述を実施

[mysqld]
server-id=2

Masterサーバ
SlaveからレプリケーションSlaveとしてアクセスできるようにユーザ作成と権限を付与

CREATE USER 'repl'@'%.slave.mydomain.com' IDENTIFIED BY 'slavepass';
GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%.slave.mydomain.com';

MasterDBのステータスを確認
-- データに変更がないようにテーブルロックを獲得
FLUSH TABLES WITH READ LOCK;
-- File と Positionを確認
SHOW MASTER STATUS;

レプリケーションを実施する前にMasterDBとSlaveDBで同期を実施する
この際、ターミナルエミュレータなどのコンソールを2つ用意する

1つ目のセッション
-- テーブルロックを獲得してDBへの更新をとめる
FLUSH TABLES WITH READ LOCK;

2つ目のセッション
# mysqldump コマンドを使用してMasterDBのバックアップを実施
mysqldump --all-databases --master-data > dbdump.sql

1つ目のセッション
-- 獲得していたテーブルロックを解除する
UNLOCK TABLES;

Slaveサーバ
MasterからダンプしたDBデータをリストアする
mysql < dbdump.sql

MySQLを再起動
./support-files/mysql.server restart

MasterDBへの接続情報をセット
CHANGE MASTER TO MASTER_HOST='%.master.mydomain.com', MASTER_USER='repl', MASTER_PASSWORD='slavepass', MASTER_PORT=3306;

レプリケーションスタート
START SLAVE;

レプリケーションステータス
SHOW SLAVE STATUS \G

ダンプ(バックアップ)


MySQLに付属しているダンプツールであるmysqldumpはダンプ内容を標準出力に出します。
標準出力に出されても困ることがほとんどなのでここではファイルに保存することを前提にしています。

# DB内のすべてのテーブルをダンプ
mysqldump [dbname] > [filename]
# テーブルを指定してダンプ
# テーブル名はいくつ指定しても可
mysqldump [dbname] [table name]> [filename]



Today: -
Yesterday: -
Total: -

タグ:

+ タグ編集
  • タグ:

このサイトはreCAPTCHAによって保護されており、Googleの プライバシーポリシー利用規約 が適用されます。

最終更新:2012年12月21日 09:40