4 MySQL 5.7 高可用
https://dev.mysql.com/doc/refman/5.7/en/replication-gtids-howto.html
GTID(GlobalTransaction ID)是對於一個已提交事務的編號,並且是一個全局唯一的編號。GTID實際上是由UUID+TID組成的。其中UUID是一個MySQL實例的唯一標識。TID代表了該實例上已經提交的事務數量,並且隨著事務提交單調遞增。
設置gtid模式,在my.cnf裏面的mysqld選項卡裏面設置,設置完後,重啟mysql服務生效:
[mysqld]
gtid_mode=ON
log-slave-updates=ON
enforce-gtid-consistency=ON
mysql> change master to
master_host=‘主庫IP‘,
master_port=主庫端口,
master_user=‘repl‘,
master_password=‘repl密碼‘,
master_auto_position=1;
mysql> start slave;
PS:其中這裏有差別,以前非gtid的是用master_log_file=‘mysql-bin.000009‘,master_log_pos=154;而gtid就采用了master_auto_positon=1;來自動同步主庫的binlog了。
查看從庫復制狀態,是雙YES,而且Seconds_Behind_Master: 0:
查看備機信息
1.主庫show slave hosts;
- SELECT * FROM information_schema.PROCESSLIST WHERE COMMAND = ‘Binlog Dump‘;
查看同步狀態
1.Show slave status\G - SELECT SERVICE_STATE FROM performance_schema.replication_connection_status;
搭建級聯備庫
- 需設置log_slave_updates=1,使備庫生成binlog
- 備份數據庫並通過備份建立新數據庫
- 新數據庫與備庫同步
-
新數據庫改為與主庫同步
reset slave;
change master to
master_host=‘主庫IP‘,
master_port=主庫端口,
master_user=‘repl‘,
master_password=‘repl密碼‘,
master_auto_position=1; - su - mysql
2.登錄默認(3306)端口的實例
source .profile
mysql –uroot –p –h127.0.0.1 –P3306
3.登錄3307端口的實例
source .p3307
mysql –uroot –p –h127.0.0.1 –P3307
知識點整理:
1、.mysql_history文件記錄mysql用戶執行的命令,存在安全隱患,需要進行軟連接處理。lns -l /dev/null $HOME/.mysql_history
2、mysql 如何搭建半同步和異步備庫。
3、mysql環境安裝。註意修改/relay_log文件夾的屬主,VIP配置。
4 MySQL 5.7 高可用