日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

1、為什么需要集群

單臺數據庫服務器存在并發能力低、存在單點故障風險等局限,集群能夠很好的通過多臺服務器的協作,實現互為主備、高可用/故障轉移、負載均衡、讀寫分離等特性。

MySQL InnoDB Cluster集群基于MGR(MySQL Group Replication,MySQL組復制)技術,支持單主(Single-Primary)和多主(Multi-Primary)兩種模式,且可以隨時切換。集群中只有主節點可以讀寫,從節點只讀,所以單主模式適合做讀寫分離;多主模式因為每個節點都是主節點,所以只要做負載均衡就可以了。

2、快速搭建InnoDB Cluster集群

2.1、預備知識

配置InnoDB Cluster需要借助工具MySQL Shell,主要涉及Shell的兩個對象:dba和cluster,可以通過以下語句獲取幫助:

h dba h cluster cluster.help(<方法名>) //要先var cluster=dba.getCluster([clusterName]);

2.2、搭建集群

操作系統選擇ubuntu server22.04LTS,用其他linux系統請自行轉換安裝命令。

# 下載安裝mysql server,以下命令在每臺服務器執行 sudo apt install -y mysql-server # 修改bind_address為0.0.0.0或本機IP;修改server_id值,每個節點唯一即可 sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf # 添加以下3行配置 binlog_transaction_dependency_tracking = WRITESET enforce_gtid_consistency = ON gtid_mode = ON # 重啟生效 sudo systemctl restart mysql # 下載安裝mysql-shell sudo wget -4 --no-check-certificate https://dev.mysql.com/get/Downloads/MySQL-Shell/mysql-shell_8.0.32-1ubuntu22.04_amd64.deb sudo dpkg -i mysql-shell_8.0.32-1ubuntu22.04_amd64.deb # 啟動mysql shell,注意-S參數默認值是/var/lib/mysql/mysql.sock,文件不存在 sudo mysqlsh --mysql -u icadmin -S /var/run/mysqld/mysqld.sock # 檢查數據庫是否已為InnoDB Cluster進行了必要的配置,包括賬戶 dba.configureInstance() # 按交互提示,選Create a new admin account,創建賬戶(icadmin密碼icadmin123!) # 退出,并用剛剛創建的賬戶icadmin重新登錄mysqlsh quit sudo mysqlsh --mysql -u icadmin -S /var/run/mysqld/mysqld.sock # 開啟配置持久化 dba.configureLocalInstance() # 以下命令在主節點執行(任選一臺作為主節點)即可,其它節點不執行 # 創建集群。如果退出mysqlsh重登錄,可以var cluster = dba.getCluster('testCluster') var cluster = dba.createCluster('testCluster') # 添加其它節點,例如mysql2、mysql3,注意必須在已加入(而非待加入)集群的節點執行 cluster.addInstance('icadmin@mysql2') cluster.addInstance('icadmin@mysql3') # 查看集群狀態 cluster.status() # 查看指定節點的狀態 cluster.checkInstanceState('icadmin@mysql3')

完成以上操作,集群就搭建起來了,這是一個單主集群,可以在主節點創建數據庫、表、插入數據,在從節點查看是否同步過來了,驗證效果。

2.3、單主和多主模式切換

要切換單主和多主模式也很簡單,通過mysql shell一行命令就可以切換:

# 切換集群到Multi-Primary模式 Cluster.switchToMultiPrimaryMode() # 切換集群到Single-Primary模式,[instance]參數可選,例如:'icadmin@mysql2' Cluster.switchToSinglePrimaryMode([instance])

2.4、集群管理

常用的管理功能還包括移除節點、節點重新加入集群、切換主節點、解散集群等,如下:

# 將集群節點從集群移除。Instance格式為<user>@<host>[:<port>],例如icadmin@mysql3 Cluster.removeInstance(<instance>) # 節點重新加入集群 Cluster.rejoinInstance(<instance>) # 切換主節點 Cluster. setPrimaryInstance(instance[, options]) # 切換集群到Multi-Primary模式 Cluster.switchToMultiPrimaryMode() # 切換集群到Single-Primary模式 Cluster.switchToSinglePrimaryMode([instance]) # 解散集群 Cluster.dissolve()

2.5、高可用和負載均衡

單主模式

可以配合MySQL Router實現高可用和負載均衡,MySQL Router相當于一個透明代理,客戶端訪問MySQL Router,由MySQL Router將請求分流到不同服務器節點實現負載均衡;如果某節點故障,MySQL Router會自動將請求分流到其它可用節點,實現故障轉移。

具體配置和使用這里就不詳述了。

多主模式

多主模式每個節點都可以讀寫,所以代理就有很多選擇了,比如MySQL Router、四層反向代理(LVS、Nginx等),這里也不多講了。

分享到:
標簽:MySQL
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定