MySQL8.0主從複製
安裝MySQL8.0
更新軟體源
yum update -y
安裝wget
yum -y install wget
檢測系統是否自帶安裝 MySQL:
rpm -qa | grep mysql
如果你係統有安裝,那可以選擇進行解除安裝:
// 普通刪除模式
rpm -e mysql
// 強力刪除模式,如果使用上面命令刪除時,提示有依賴的其它檔案,則用該命令可以對其進行強力刪除
rpm -e --nodeps mysql
安裝MySQL
在https://dev.mysql.com/downloads/repo/yum/檢視最新yum源
wget http://repo.mysql.com/mysql80-community-release-el7-3.noarch.rpm
yum -y install mysql80-community-release-el7-3.noarch.rpm
yum -y install mysql-community-server
啟動 MySQL
systemctl start mysqld
設定MySQL開機自啟
systemctl enable mysqld
檢視MySQL密碼
grep 'password' /var/log/mysqld.log
2020-11-13T14:27:04.783981Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: 23>,)uov0cFz
檢視防火牆狀態
firewall-cmd --state
啟動防火牆
systemctl start firewalld
開機自啟防火牆
systemctl enable firewalld
開啟3306埠
firewall-cmd --zone=public --add-port=3306/tcp --permanent
重啟防火牆
systemctl restart firewalld.service
查詢3306埠是否開放
firewall-cmd --zone=public --query-port=3306/tcp
進入資料庫
mysql -u root -p
輸入密碼
23>,)uov0cFz
修改密碼
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'Root123@';
進入user庫
mysql> use mysql;
檢視使用者及許可權
mysql> select host, user from user;
將root使用者設定允許外網訪問
mysql> update user set host = '%' where user = 'root';
重新整理配置
flush privileges;
配置主從同步
主庫
修改主節點配置檔案
vim /etc/my.cnf
log-bin=mysql-bin server-id=1 gtid_mode=ON enforce_gtid_consistency=1
重啟mysql
systemctl restart mysqld
mysql -u root -p
Root123@
建立一個專門用於複製資料的使用者
mysql> CREATE USER 'repl'@'%' IDENTIFIED BY 'Repl123@';
使用者名稱:repl
主機:使用萬用字元%,允許任意遠端主機登陸
密碼:Repl123@
對repl使用者進行授權
mysql> GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%';
從庫
測試使用者有效性
mysql -urepl -p'Repl123@' -h192.168.12.128
vim /etc/my.cnf
server-id=2 gtid_mode=ON enforce_gtid_consistency=1 master-info-repository=TABLE relay-log-info-repository=TABLE
重啟mysql
systemctl restart mysqld
mysql -u root -p
Root123@
主庫
檢視二進位制日誌名稱
mysql> show master status \G
從庫
在從伺服器配置連線到主伺服器
mysql> CHANGE MASTER TO
MASTER_HOST='192.168.12.128',
MASTER_USER='repl',
MASTER_PASSWORD='Repl123@',
MASTER_LOG_FILE='mysql-bin.000001',
MASTER_LOG_POS=0;
mysql> start slave;
設定 從伺服器只讀狀態
檢視當前只讀的狀態
mysql> SHOW VARIABLES LIKE '%read_only%';
設定普通使用者只讀
mysql> SET GLOBAL read_only=1;
設定超級使用者只讀
mysql> SET GLOBAL super_read_only=1;
停止目前正在執行復制鏈路
mysql> stop slave;
配置併發執行緒的方式
mysql> set global slave_parallel_type = "logical_clock";
配置併發數量
mysql> set global slave_parallel_workers = 4;
啟動從伺服器的複製鏈路
mysql> start slave
相關文章
- MySQL8.0輕鬆搞定GTID主從複製MySql
- MySQL8.0主從複製命中1032案例分析MySql
- MySQL8.0輕鬆搞定GTID主主複製MySql
- 使用MySQL8.0 clone技術線上搭建主從複製MySql
- Centos8.3、mysql8.0主從複製實戰記錄CentOSMySql
- mysql5.7主從複製,主主複製MySql
- 主從複製
- mysql複製--主從複製配置MySql
- Redis:主從複製Redis
- Redis - 主從複製Redis
- MySQL主從複製MySql
- Redis主從複製Redis
- MySQL主從複製之GTID複製MySql
- 主從複製是啥或者主從複製的原理是什麼?
- MySQL主從複製之半同步複製MySql
- MySQL主從複製之非同步複製MySql非同步
- Windows 環境下,MySQL 的主從複製和主主複製WindowsMySql
- windows環境下,Mysql的主從複製和主主複製WindowsMySql
- mysql主從複製(一):一主多從MySql
- MySQL主從複製原理MySql
- MySQL的主從複製MySql
- redis系列:主從複製Redis
- PostgreSQL 主從複製方案SQL
- mysql--主從複製MySql
- Redis 主從複製原理Redis
- mysql 8.4 主從複製MySql
- redis(14)主從複製Redis
- Redis 主從複製(Replication)Redis
- mysql主從複製搭建MySql
- mysql資料庫的主從複製和主主複製實踐MySql資料庫
- MySQL 主從複製之多執行緒複製MySql執行緒
- MySQL叢集之 主從複製 主主複製 一主多從 多主一叢 實現方式MySql
- Mysql實現主從複製(一主雙從)MySql
- Mysql 8.4.0 結合 Docker 搭建GTID主從複製,以及傳統主從複製MySqlDocker
- Redis主從複製流程概述Redis
- windows 下mysql主從複製WindowsMySql
- mysql實現主從複製MySql
- mysql主從延遲複製MySql