ナビゲーション
FrontPage
FreeBSD
Linux
Citrix XenServer
VMware ESXi
Unixコマンド
MySQL
PostgreSQL
Windows
CMS/CRM
クラウド
用語
PHPスクリプト
Bashシェルスクリプト
Rubyスクリプト
開発日記
検索
ツールボックス
新しいページの作成
バックアップの表示
外部のリンク元
最近更新したページ
全ページ
ヘルプ
凍結
アップロード
ページ名の変更
最新の40件
2016-08-17
Linux/NagiosQL
Linux/CentOSチューニング
2016-02-23
Linux/ソフトウェアRAID復旧手順
2016-02-18
FreeBSD/DHCP
FreeBSD/squid
2016-02-15
Unixコマンド/file
2016-02-05
FreeBSD/DynaBook
FreeBSD/Linux compatibility
2016-01-21
PHPスクリプト/PEAR DBインストールできない
PHPスクリプト/PEAR DB
2016-01-20
PHP/フレームワーク/Zend Framework
PHP/フレームワーク
FreeBSD/Postfix+amavisd+clamav
2016-01-15
FreeBSD/sl
2015-12-04
Unixコマンド/dig
Unixコマンド/nslookup
Unixコマンド/traceroute
Linux/rsync
FreeBSD/rsync
Unixコマンド/vipw
2015-11-25
Linux/Postfix+MySQL+Postfix AdminによるバーチャルSMTPサーバの構築
Linux/Postfix + postgrey
2015-11-24
Linux/Postfix + amavisd + clamav
2015-05-25
Unixコマンド/ifconfig
2015-05-23
Unixコマンド/netstat
Unixコマンド/route
Unixコマンド/lsof
Unixコマンド/disown
Unixコマンド/time
Unixコマンド/crontab
2015-05-22
Unixコマンド/nohup
Unixコマンド/fgとbg
Unixコマンド/nice
Unixコマンド/kill
Unixコマンド/jobs
Unixコマンド/restor
Unixコマンド/dump
Unixコマンド/uncompress
Unixコマンド/compress
Unixコマンド/zcat
total:
1878
today:
1
yesterday:
0
now:
1
本文
ノート
?
編集
差分
一覧
MySQL/MySQLレプリケーション の編集
*MySQLレプリケーション [#ddc1a015] [[dokuwiki.fl8.jp転載済>http://dokuwiki.fl8.jp/doku.php/02_freebsd/04_database/01_mysql/mysql_replication]] レプリケーションとは、あるデータベースから他のデータベースに複製を作ることです。 #contents **構成 [#zb696ff5] MySQL 5.1.30 *[マスター側] [#h85f40b5] **レプリケーション用ユーザを作成 [#p7627a58] mysql> GRANT REPLICATION SLAVE ON *.* TO repl@'%' IDENTIFIED BY '<password>'; **マスタサーバで更新ログを有効にする [#ad7f9f64] マスタサーバで更新ログ(バイナリログとも言う)を有効にします。~ my.cnf ファイルに以下の記述があるか確認して下さい。 [mysqld] log-bin server-id=1 &color(Red){※server-id は、1以上の整数であれば何でも良いです。}; **テーブルへの書き込みを禁止 [#s195071a] mysql> FLUSH TABLES WITH READ LOCK; **マスタデータのスナップショットを撮る(tarで固める) [#tf90d947] # cd /home/mysql # tar zcvf data.tar.gz data # scp data.tar.gz [スレーブサーバ] **更新ログの状態を取得する [#d43038ef] 実行したら、画面に出力された「File」と「Position」カラムの内容をメモしておきます。~ これは、現時点での更新ログファイル名とそのオフセットです。~ この後スレーブサーバ上でレプリケーションを有効にする際に必要になります。 mysql> SHOW MASTER STATUS; **ロックを解除 [#ad170d8c] mysql> UNLOCK TABLES; **バイナリログの自動削除 [#wc1fd344] 確認コマンド mysql> show global variables like 'expire_logs_days'; &color(Red){デフォルトの0は削除しないの意味}; my.cnfに下記を書いておけば、14日で削除される。 set-variable = expire_logs_days=14 *[スレーブ側] [#zf74878a] **スナップショットを展開する [#q2e5b9dc] # cd /home/mysql # tar zxvf data.tar.gz **my.cnf設定 [#i1da0d22] server-id = 2 master-host = 172.16.8.53 master-port = 3306 master-user = slave master-password = xxslave **レプリケーションを行う準備 [#c338bfd5] mysql> STOP SLAVE; mysql> CHANGE MASTER TO MASTER_HOST='<master host name>', MASTER_USER='<replication user name>', MASTER_PASSWORD='<replication password>', MASTER_LOG_FILE='<recorded log file name>', MASTER_LOG_POS=<recorded log offset>; mysql> START SLAVE; **スレーブの状態確認 [#aeab21e0] mysql> show slave status\G; *************************** 1. row *************************** Slave_IO_State: Waiting for master to send event Master_Host: 172.16.8.53 Master_User: slave Master_Port: 3306 Connect_Retry: 60 Master_Log_File: mysql-bin.000007 Read_Master_Log_Pos: 19072 Relay_Log_File: localhost-relay-bin.000002 Relay_Log_Pos: 8504 Relay_Master_Log_File: mysql-bin.000007 Slave_IO_Running: Yes Slave_SQL_Running: Yes Replicate_Do_DB: Replicate_Ignore_DB: Replicate_Do_Table: Replicate_Ignore_Table: Replicate_Wild_Do_Table: Replicate_Wild_Ignore_Table: Last_Errno: 0 Last_Error: Skip_Counter: 0 Exec_Master_Log_Pos: 19072 Relay_Log_Space: 8663 Until_Condition: None Until_Log_File: Until_Log_Pos: 0 Master_SSL_Allowed: No Master_SSL_CA_File: Master_SSL_CA_Path: Master_SSL_Cert: Master_SSL_Cipher: Master_SSL_Key: Seconds_Behind_Master: 0 Master_SSL_Verify_Server_Cert: No Last_IO_Errno: 0 Last_IO_Error: Last_SQL_Errno: 0 Last_SQL_Error: 1 row in set (0.00 sec) ERROR: No query specified
タイムスタンプを変更しない
*MySQLレプリケーション [#ddc1a015] [[dokuwiki.fl8.jp転載済>http://dokuwiki.fl8.jp/doku.php/02_freebsd/04_database/01_mysql/mysql_replication]] レプリケーションとは、あるデータベースから他のデータベースに複製を作ることです。 #contents **構成 [#zb696ff5] MySQL 5.1.30 *[マスター側] [#h85f40b5] **レプリケーション用ユーザを作成 [#p7627a58] mysql> GRANT REPLICATION SLAVE ON *.* TO repl@'%' IDENTIFIED BY '<password>'; **マスタサーバで更新ログを有効にする [#ad7f9f64] マスタサーバで更新ログ(バイナリログとも言う)を有効にします。~ my.cnf ファイルに以下の記述があるか確認して下さい。 [mysqld] log-bin server-id=1 &color(Red){※server-id は、1以上の整数であれば何でも良いです。}; **テーブルへの書き込みを禁止 [#s195071a] mysql> FLUSH TABLES WITH READ LOCK; **マスタデータのスナップショットを撮る(tarで固める) [#tf90d947] # cd /home/mysql # tar zcvf data.tar.gz data # scp data.tar.gz [スレーブサーバ] **更新ログの状態を取得する [#d43038ef] 実行したら、画面に出力された「File」と「Position」カラムの内容をメモしておきます。~ これは、現時点での更新ログファイル名とそのオフセットです。~ この後スレーブサーバ上でレプリケーションを有効にする際に必要になります。 mysql> SHOW MASTER STATUS; **ロックを解除 [#ad170d8c] mysql> UNLOCK TABLES; **バイナリログの自動削除 [#wc1fd344] 確認コマンド mysql> show global variables like 'expire_logs_days'; &color(Red){デフォルトの0は削除しないの意味}; my.cnfに下記を書いておけば、14日で削除される。 set-variable = expire_logs_days=14 *[スレーブ側] [#zf74878a] **スナップショットを展開する [#q2e5b9dc] # cd /home/mysql # tar zxvf data.tar.gz **my.cnf設定 [#i1da0d22] server-id = 2 master-host = 172.16.8.53 master-port = 3306 master-user = slave master-password = xxslave **レプリケーションを行う準備 [#c338bfd5] mysql> STOP SLAVE; mysql> CHANGE MASTER TO MASTER_HOST='<master host name>', MASTER_USER='<replication user name>', MASTER_PASSWORD='<replication password>', MASTER_LOG_FILE='<recorded log file name>', MASTER_LOG_POS=<recorded log offset>; mysql> START SLAVE; **スレーブの状態確認 [#aeab21e0] mysql> show slave status\G; *************************** 1. row *************************** Slave_IO_State: Waiting for master to send event Master_Host: 172.16.8.53 Master_User: slave Master_Port: 3306 Connect_Retry: 60 Master_Log_File: mysql-bin.000007 Read_Master_Log_Pos: 19072 Relay_Log_File: localhost-relay-bin.000002 Relay_Log_Pos: 8504 Relay_Master_Log_File: mysql-bin.000007 Slave_IO_Running: Yes Slave_SQL_Running: Yes Replicate_Do_DB: Replicate_Ignore_DB: Replicate_Do_Table: Replicate_Ignore_Table: Replicate_Wild_Do_Table: Replicate_Wild_Ignore_Table: Last_Errno: 0 Last_Error: Skip_Counter: 0 Exec_Master_Log_Pos: 19072 Relay_Log_Space: 8663 Until_Condition: None Until_Log_File: Until_Log_Pos: 0 Master_SSL_Allowed: No Master_SSL_CA_File: Master_SSL_CA_Path: Master_SSL_Cert: Master_SSL_Cipher: Master_SSL_Key: Seconds_Behind_Master: 0 Master_SSL_Verify_Server_Cert: No Last_IO_Errno: 0 Last_IO_Error: Last_SQL_Errno: 0 Last_SQL_Error: 1 row in set (0.00 sec) ERROR: No query specified
テキスト整形のルールを表示する
ログインまたはアカウント作成