XtraBackupバックアップ・リストアメモ

Mysqlのオンラインバックアップを実現するXtraBackupを検証してみました。
以下はメモです。

■Percona-XtraBackup 2.2.10
http://www.percona.com/doc/percona-xtrabackup/2.2/installation.html

■XtraBackupインストール

# uname -m
x86_64
# wget http://www.percona.com/downloads/XtraBackup/Percona-XtraBackup-2.2.10/binary/redhat/6/x86_64/Percona-XtraBackup-2.2.10-re623acb-el6-x86_64-bundle.tar
# yum -y install perl-Time-HiRes
# rpm -ivh percona-xtrabackup-2.2.10-1.el6.x86_64.rpm
# rpm -ivh percona-xtrabackup-test-2.2.10-1.el6.x86_64.rpm
# rpm -ivh percona-xtrabackup-debuginfo-2.2.10-1.el6.x86_64.rpm
# mkdir /var/lib/mysql_backup/

■フルバックアップ

# innobackupex --user=root --password=jagaimo --defaults-file=/etc/my.cnf /var/lib/mysql_backup

■リストア

# /etc/rc.d/init.d/mysqld stop
# innobackupex --user root --password jagaimo --copy-back /var/lib/mysql_backup/2015-04-30_11-07-39
# mv mysql bk_mysql
# chown -R mysql:mysql /var/lib/mysql/
# /etc/rc.d/init.d/mysqld start
# mysql -u root -p
mysql> use data1
mysql> select * from table1;

これでフルバックアップとリストアは検証できました。
差分バックアップは別途検証しようと思います。

■■■参考■■■
■Mysql 起動停止

# /etc/rc.d/init.d/mysqld start
# /etc/rc.d/init.d/mysqld stop

■Mysql設定変更

# /etc/my.cnf 

■Mysql操作

# mysql -u root -p

■パスワードをjagaimoへ変更

mysql> SET PASSWORD FOR root@localhost=PASSWORD('jagaimo');

■起動時の失敗時の調査

# tail -f /var/log/mysqld.log

■フルバックアップ

# innobackupex $BACKUP_OPTION $FULLBACKUP_DIR

$BACKUP_OPTION="--user=$MYSQL_USER --password=$MYSQL_PASSWORD --defaults-file=$DEFAULTS_FILE"
$MYSQL_USER=root
$MYSQL_PASSWORD=jagaimo
$DEFAULTS_FILE=/etc/my.cnf
$FULLBACKUP_DIR=

■Percona 正式ドキュメント
http://www.percona.com/doc/percona-xtrabackup/2.2/

■バックアップを取得して失敗した時のメモ

# mkdir /var/lib/mysql_backup/
# xtrabackup --backup --datadir=/var/lib/mysql/ --target-dir=/var/lib/mysql_backup/

=============================
# xtrabackup --backup --datadir=/var/lib/mysql/ --target-dir=/var/lib/mysql_backup/
xtrabackup version 2.2.10 based on MySQL server 5.6.22 Linux (x86_64) (revision id: )
xtrabackup: uses posix_fadvise().
xtrabackup: cd to /var/lib/mysql/
xtrabackup: open files limit requested 0, set to 1024
xtrabackup: using the following InnoDB configuration:
xtrabackup:   innodb_data_home_dir = ./
xtrabackup:   innodb_data_file_path = ibdata1:10M:autoextend
xtrabackup:   innodb_log_group_home_dir = ./
xtrabackup:   innodb_log_files_in_group = 2
xtrabackup:   innodb_log_file_size = 50331648
InnoDB: Error: log file ./ib_logfile0 is of different size 5242880 bytes
InnoDB: than specified in the .cnf file 50331648 bytes!

InnoDBのサイズ変更のやり方
http://blog.enjoitech.com/article/196
=============================

■参考サイト
http://variable.jp/2013/01/24/mysql%E3%82%AA%E3%83%B3%E3%83%A9%E3%82%A4%E3%83%B3%E3%83%90%E3%83%83%E3%82%AF%E3%82%A2%E3%83%83%E3%83%97-xtrabackup/
http://www.submit.ne.jp/428

以上

セキュリティについて気になる単語のメモ

■TLS/SSLとは
Transport Layer Security(トランスポート・レイヤー・セキュリティー、TLS)は、インターネットなどのコンピュータネットワークにおいてセキュリティーを要求される通信を行うためのプロトコル。
SSL (Secure Sockets Layer) はTLSの元になったプロトコル。

バージョンは
SSL1.0 → SSL2.0 → SSL3.0 → TLS1.0 → TLS1.1 → TLS1.2 → TLS1.3
となっている。
TLS1.0まで脆弱性がでているのでTLS1.1以降が使える

TLSの一般的な用途では、サーバだけが証明書を提示し、クライアントがその正当性を確認する。オプションでクライアント認証も可能であり、必要な場合にはサーバがクライアントに対して証明書の提示を求める。

SSL 3.0 の脆弱性 (POODLE) 対策で Web サーバの SSL 3.0 を無効にした件とブラウザ側の対処まとめ
http://hyper-text.org/archives/2014/10/ssl_3_0_disable.shtml

SSL 3.0 の脆弱性対策について
サーバもしくはクライアントのどちらか一方で、SSL 3.0 を無効化することで対策できる。
SSL 3.0 を無効化することで次の影響を受ける可能性がある。

・サーバ側で SSL 3.0 を無効にした場合
一部のクライアントから接続ができなくなる可能性がある。
・クライアント側で SSL 3.0 を無効にした場合
一部のサーバに接続できなくなる可能性がある。

■SHA-1、SHA-2とは
ハッシュ関数の種類で、改ざん検知に利用される署名アルゴリズム。
ハッシュ関数とは、テキストデータから別の固定長のテキストデータ(ハッシュ値)を生成する関数であり、生成されたハッシュ値を比較することでデータの改ざんを確認することができる。SHA-1とSHA-2でハッシュ値の長さが異なり、SHA-1は160ビット、SHA-2は224ビット・256ビット・384ビット・512ビット。

基本的にSHA-1の証明書は2017年1月1日以降使えなくなるので
2016年12月31日までにSHA-2に移行する必要がある。

対応ブラウザ
http://www.symantec.com/ja/jp/page.jsp?id=ssl-sha2-transition

PCやスマートフォンでは大部分のブラウザが以前から対応しているが携帯電話(ガラケー)は2010年以前のものは対応していないものがある。

メールアドレスの考え方

メールアドレスの基本構造
 ○○○@▲▲.□□□.××

@より前の部分「アカウント名」
@より後ろの部分「ドメイン名」
「アカウント名」は、「ドメイン名」で指定したメールサーバーの中で個人を識別するもの。
「ドメイン名」はそのメールアドレスが所属するメールサーバーを識別するもの。

@の前半のアカウント部分は一般的に、
半角英数字ローマ字(小文字)+数字+記号(「.」「-」「_」)
に限定され、文字列も最大30文字以内の場合が多い。
ただ、プロバイダ事業者や企業によっては、 ローマ字(大文字)も識別するように設定している場合もある。

大文字・小文字を識別するように設定されている場合
 suzuki@▲▲▲.□□□.××
 Suzuki@▲▲▲.□□□.××
は、それぞれ別のメールアドレスだと判断される。

「ドメイン」については英字を大文字にしても小文字にしても同じ意味として扱うことになっている。
 ○○○@jbclub.xii.jp
 ○○○@JBCLUB.XII.JP
 ○○○@jBcLub.XiI.jp
はどれも同じメールアドレスだと判断される。
ただサブドメインは「_(アンダーバー)」をつけないほうがよい。
管理しているDNSで認識できないらしい。

return top