[英]Google Cloud MySQL and Master-master replication
我在不同的區域(兩台服務器eu
, us
連接到同一個MySQL數據庫),我已經開始與谷歌Cloud SQL的第二代,但它僅適用於us
地區。
這個想法是在新的區域eu
添加第二個 sql 節點,但我找不到任何關於主-主復制的文檔,因此目前不支持。 這樣對嗎?
附: 我的兩台服務器都需要讀/寫訪問權限。
在我的操作谷歌SQL us
,我能:
我在eu
創建了一個新的 google sql 雲。
將eu
配置為us
的外部副本。
將eu
配置為us
外部主站。
我真的很困惑! 任何幫助將不勝感激。
/烏斯
Google Cloud SQL 不支持 Master-Master。
解決方案來自: https : //www.ryadel.com/en/mysql-master-master-replication-setup-in-5-easy-steps/
在Linux Ubuntu 16.04 上成功實現在google 雲平台MySql 5.7 上不會在Debian 上加載。
/// 在 2 個虛擬機上安裝 MySQL
A. 在虛擬機上 sql1 和 sql2
apt update
apt install mysql-server -y
P@ssW0rd2020 P@ssW0rd2020
B. 注釋 bind-address 以允許全局訪問
cd /etc/mysql/mysql.conf.d/
nano /etc/mysql/mysql.conf.d/mysqld.cnf
C. 重啟 MySQL 服務(cnf 更改)
systemctl restart mysql
systemctl status mysql
D. 在 sql1 上
nano /etc/mysql/conf.d/mysql.cnf
[mysqld] // note: not [mysql]
server-id=1
log-bin="mysql-bin"
binlog-ignore-db=test
binlog-ignore-db=information_schema
replicate-ignore-db=test
replicate-ignore-db=information_schema
relay-log="mysql-relay-log"
auto-increment-increment = 2
auto-increment-offset = 1
-------------------------------------
systemctl restart mysql
systemctl status mysql
D. 在 sql2 上
nano /etc/mysql/conf.d/mysql.cnf
[mysqld]
server-id=2
log-bin="mysql-bin"
binlog-ignore-db=test
binlog-ignore-db=information_schema
replicate-ignore-db=test
replicate-ignore-db=information_schema
relay-log="mysql-relay-log"
auto-increment-increment = 2
auto-increment-offset = 2
-------------------------------------
systemctl restart mysql (THIS WILL CREATE BIN LOG)
systemctl status mysql
again, flush privileges; ---supposed to
E. 創建復制器用戶
在 sql1 和 2 上配置(復制器密碼可以相同,也可以不同)
mysql -u 根 -p
P@ssW0rd2020
CREATE USER 'replicator'@'%' IDENTIFIED BY 'P@ssW0rd2020'; 授予復制從屬。 TO 'replicator'@'%' 由 'P@ssW0rd2020' 識別; 刷新權限;
F. 從沒有數據庫(更好)或相互導入/導出數據庫到 sql1 和 2 https://dev.mysql.com/doc/refman/8.0/en/copying-databases.html 的新 VM 開始
G.配置從sql1復制到sql2(使sql2成為sql1的slave)
在 sql1 上
顯示主狀態;
示例輸出:+-----------------+---------+--------------+- -----------------+ | 檔案 | 職位 | Binlog_Do_DB | Binlog_Ignore_DB | +-----------------+----------+--------------+---- --------------+ | mysql-bin.000001 | 第448話示例 | 測試,信息| +-----------------+----------+--------------+---- --------------+ 1 行(0.00 秒)
在 sql2 上
停止奴隸; 將 MASTER 更改為 MASTER_HOST = '104.154.225.215', MASTER_USER = 'replicator', MASTER_PASSWORD = 'P@ssW0rd2020', MASTER_LOG_FILE = 'mysql-bin.000001', MASTER448LOG; 啟動從機; 刷新權限;
H. 對 sql2 重復(使 sql1 成為 sql2 的從屬)
在 sql2 上
顯示主狀態;
示例輸出:+-----------------+---------+--------------+- -----------------+ | 檔案 | 職位 | Binlog_Do_DB | Binlog_Ignore_DB | +-----------------+----------+--------------+---- --------------+ | mysql-bin.000001 | 第448話示例 | 測試,信息| +-----------------+----------+--------------+---- --------------+ 1 行(0.00 秒)
在 sql1 上
停止奴隸; 將 MASTER 更改為 MASTER_HOST = '35.198.195.130', MASTER_USER = 'replicator', MASTER_PASSWORD = 'P@ssW0rd2020', MASTER_LOG_FILE = 'mysql-bin.000001', MASTER4_8_POS; 啟動從機;
一、測試復制
成功是甜蜜的! 🤓
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.