1.フルバックアップにmysqldumpとxtrabackのどちらを使用するかをユーザーが選択できるようにするスクリプトを記述します。
PS3 = "バックアップタイプを選択してください:";
mysqldumpxtrabackでタイプを選択します; 1で
$ REPLYを実行します
)
[- e / data / backup] || mkdir / data / backup
mysqldump -A --single-transaction -F | gzip> /data/backup/mysqldump_full_backup-$(date'+%Y%m%d-%H%M').sql.gz || (echo 'バックアップに失敗しました!' && exit 2)
echo'mysqldumpフルバックアップに成功しました! '
休憩
;;
2)
xtrabackup --backup --target-dir = / data / backup / xtra_full_backup-$(date '+%Y%m%d-%H%M')&> / dev / null || (echo 'バックアップに失敗しました!' && exit 2)
echo'xtrabackupフルバックアップに成功しました! '
休憩
;;
*)
echo "バックアップタイプの番号を入力してください"
esac
done
2.Mysqlマスタースレーブ同期を構成します
メインサーバーの構成(192.168.47.154):
1。構成ファイルを変更します
vim /etc/my.cnf
server-id = 1
log-bin = / var / lib / mysql / logbin_tao
2.systemctl restart mariadb
3.
「tao」で識別される「repluser」@「192.168.47。%」への*。*上のユーザー許可レプリケーションスレーブを作成します
4.バイナリログを表示する
MariaDB [mysql]>マスターログを表示する;
+ ------------------- + ----------- +
| Log_name | File_size |
+ ------------------- + ----------- +
| logbin_tao.000001 | 404 |
+ ------- ------------ + ----------- +
1行セット(0.00秒)
サーバーからの構成(192.168.47.101)
1。構成ファイルを変更します
vim /etc/my.cnf
server-id = 2
読み取り専用
2.MASTERを
MASTER_HOST = '192.168.47.154'、
MASTER_USER = 'repluser'、
MASTER_PASSWORD = 'tao'、
MASTER_PORT = 3306、
MASTER_LOG_FILE = 'logbin_tao.000001、
MASTER_LOG_POS = 404に変更します。
3.スレーブステータスを表示\ G
4.スレーブを開始します。
3. MHAを使用して、Mysqlの高可用性を実現します
1.準備:
1.)4つのホスト
192.168.47.100(maha-manager)
192.168.47.101(メインサーバー)
192.168.47.102(スレーブサーバー)
192.168.47.103(スレーブサーバー)
2.)時間同期、ファイアウォールオフ/ selinuxオフ
2.インストール
centos7_2 [メインサーバー192.168.47.101]
#1。データベースをインストールします
yum install mariadb-server -y
#2。構成ファイルを変更する
/etc/my.cnf
server-id = 2
ログビン
ship_name-解決
systemctl restart mariadb
#3。アカウントを作成する
MariaDB [(none)]> *。*のレプリケーションスレーブを 'tao'で識別されるrepluser@'192.168.47。% 'に付与します。
MariaDB [(none)]> *。*のすべてを 'tao'で識別されるmhauser @ '192.168.47。%'に付与します。
バイナリログを表示
MariaDB [(none)]>マスターログを表示します。
+ -------------------- + ----------- +
| Log_name | File_size |
+ -------------------- + ----------- +
| mariadb-bin.000001 | 534 |
+ -------------------- + ----------- +
セットの1行(0.00秒)
#4。mha4mysql-node-0.56-0.el6.noarch.rpmをインストールします
yum install mha * .rpm
centos7_3、centos7_4 [サーバー192.168.47.102、192.168.47.103から]
#1。データベースをインストールします
yum install mariadb-server -y
#2。構成ファイルを変更する
/etc/my.cnf
server-id = 3
ログビン
読み取り専用
skip_name_resolve
relay_log_purge = 0
server-id = 4
ログビン
読み取り専用
skip_name_resolve
relay_log_purge = 0
systemctl restart mariadb
#3。コマンドを実行する
MariaDB [(なし)]>マスターをに変更
MASTER_HOST = '192.168.47.101'、
MASTER_USER = 'repluser'、
MASTER_PASSWORD = '人'、
MASTER_PORT = 3306、
MASTER_LOG_FILE = 'mariadb-bin.000001'、
MASTER_LOG_POS = 245;
ステータスを確認する
MariaDB [(なし)]>スレーブステータスを表示\ G
起動
MariaDB [(none)]>スレーブを開始します。
スレーブノードには読み取り専用属性があります
MariaDB [(none)]> 'read_only'のような変数を表示します。
+ --------------- + ------- +
| Variable_name | 値|
+ --------------- + ------- +
| read_only | オン|
+ --------------- + ------- +
セット内の1行(0.06秒)
#4。mha4mysql-node-0.56-0.el6.noarch.rpmをインストールします
yum install mha * .rpm
maha-manager [192.168.47.100]
#1。ドキュメントを準備する
mha4mysql-manager-0.56-0.el6.noarch.rpm
mha4mysql-node-0.56-0.el6.noarch.rpm
#2。ソフトウェアをインストールする
yum install mha * .rpm [オープンepel ソース]
#3。キーベースの検証
(1)ssh-keygen
[root @ mha-manager〜] #ls -a .ssh
。.. id_rsa id_rsa.pub ..
(2)ssh-copy-id 192.168.47.100(ローカルコンピューターのIP)
cd .ssh
[root @ mha-manager .ssh] #ls
authorized_keys id_rsa id_rsa.pubknown_hosts
(3)コピー
scp -r .ssh 192.168.47.101:/ root /
scp -r .ssh 192.168.47.102:/ root /
scp -r .ssh 192.168.47.103:/ root /
(4)テスト:
ssh 192.168.47.101
ssh 192.168.47.102
ssh 192.168.47.103
#4。構成ファイルを作成する
mkdir / etc / mha /
vim /etc/mha/app1.cnf
------------------------
[サーバーのデフォルト]
user = mhauser
パスワード=人
manager_workdir = / data / mastermha / app1 /
manager_log = / data / mastermha / app1 / manager.log
remote_workdir = / data / mastermha / app1 /
ssh_user = root
repl_user = repluser
repl_password = person
ping_interval = 1
[server1]
ホスト名= 192.168.47.101
Candidate_master = 1
[server2]
ホスト名= 192.168.47.102
Candidate_master = 1
[server3]
ホスト名= 192.168.47.103
#5。チェック
masterha_check_ssh --conf = / etc / mha / app1.cnf
masterha_check_repl --conf = / etc / mha / app1.cnf
#6。開始
masterha_manager --conf = / etc / mha / app1.cnf
テスト
ビュー・ログ
メインサーバー
データベースtaoを作成します。
テーブルtestlogを作成します(id int auto_incrementプライマリキー、name char(10)、age int default 20);
区切り文字$$
プロシージャsp_testlog()を作成し、iintを宣言し
始め
ます。
i = 1に設定します。
i <= 100000の間
、testlog(name、age)値に挿入します(concat( 'wang'、i)、i);
セットi = i +1;
終了します。
end $$
区切り文字;
sp_testlogを呼び出します。
メインサービスコンピュータを直接シャットダウンします
ビュー・ログ
メインサーバーとなるコンピューターの情報を表示する:[192.168.47.102]
最後に、メインサーバーとなる構成ファイル/etc/my.cnfのread_onlyを削除します