基于shardingsphere的分庫分表方案

一、準備docker容器

啟動兩個mysql的docker容器

docker run -v /root/mysql_volume/data:/var/lib/mysql -v /root/mysql_volume/conf:/etc/mysql/conf.d -v /root/mysql_volume/my.cnf:/etc/my.cnf -p 3306:3306 --name mysql --restart=always --privileged=true -e MYSQL_ROOT_PASSWORD=aaaa1143134686 -d mysql:8.0.30 --lower_case_table_names=1docker run -v /root/mysql_volume_child1/data:/var/lib/mysql -v /root/mysql_volume_child1/conf:/etc/mysql/conf.d -v /root/mysql_volume_child1/my.cnf:/etc/my.cnf -p 3307:3306 --name mysql-child1 --restart=always --privileged=true -e MYSQL_ROOT_PASSWORD=aaaa1143134686 -d mysql:8.0.30 --lower_case_table_names=1

主節點的my.cnf配置

# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/8.0/en/server-configuration-defaults.html[mysqld]
#
# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
# innodb_buffer_pool_size = 128M
#
# Remove leading # to turn on a very important data integrity option: logging
# changes to the binary log between backups.
# log_bin
#
# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
# join_buffer_size = 128M
# sort_buffer_size = 2M
# read_rnd_buffer_size = 2M# Remove leading # to revert to previous value for default_authentication_plugin,
# this will increase compatibility with older clients. For background, see:
# https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_default_authentication_plugin
# default-authentication-plugin=mysql_native_password
skip-host-cache
skip-name-resolve
datadir=/var/lib/mysql
socket=/var/run/mysqld/mysqld.sock
secure-file-priv=/var/lib/mysql-files
user=mysql
lower_case_table_names = 1
# my.cnf 配置
server-id=1
log-bin=mysql-bin
binlog_format=ROWpid-file=/var/run/mysqld/mysqld.pid
[client]
socket=/var/run/mysqld/mysqld.sock!includedir /etc/mysql/conf.d/

從節點的my.cnf配置

# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/8.0/en/server-configuration-defaults.html[mysqld]
#
# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
# innodb_buffer_pool_size = 128M
#
# Remove leading # to turn on a very important data integrity option: logging
# changes to the binary log between backups.
# log_bin
#
# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
# join_buffer_size = 128M
# sort_buffer_size = 2M
# read_rnd_buffer_size = 2M# Remove leading # to revert to previous value for default_authentication_plugin,
# this will increase compatibility with older clients. For background, see:
# https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_default_authentication_plugin
# default-authentication-plugin=mysql_native_password
skip-host-cache
skip-name-resolve
datadir=/var/lib/mysql
socket=/var/run/mysqld/mysqld.sock
secure-file-priv=/var/lib/mysql-files
user=mysql
lower_case_table_names = 1server-id=2   # 每個從庫要唯一
relay-log=relay-log
read_only=1pid-file=/var/run/mysqld/mysqld.pid
[client]
socket=/var/run/mysqld/mysqld.sock!includedir /etc/mysql/conf.d/

重啟主節點和從節點的mysql的docker容器后,在主節點下查看binlog位置

SHOW MASTER STATUS;

在子節點配置主節點信息

CHANGE MASTER TOMASTER_HOST='ip',MASTER_USER='root',MASTER_PASSWORD='mima',MASTER_LOG_FILE='mysql-bin.000002',MASTER_LOG_POS=117056;START SLAVE;SHOW SLAVE STATUS;

二、配置shardingspheres

pom文件引入

        <!-- ShardingSphere JDBC Core --><dependency><groupId>org.apache.shardingsphere</groupId><artifactId>shardingsphere-jdbc-core-spring-boot-starter</artifactId><version>5.1.1</version></dependency>

配置文件引入

spring:application:name: 可變羽翼核心shardingsphere:datasource:# 定義多個數據源names: master, slave1master:type: com.zaxxer.hikari.HikariDataSourcedriver-class-name: com.mysql.cj.jdbc.Driverjdbc-url: jdbc:mysql://ip:3306/wing_blog?serverTimezone=UTCusername: rootpassword: passwdslave1:type: com.zaxxer.hikari.HikariDataSourcedriver-class-name: com.mysql.cj.jdbc.Driverjdbc-url: jdbc:mysql://ip:3307/wing_blog?serverTimezone=UTCusername: rootpassword: passwdrules:readwrite-splitting:data-sources:myds:type: Staticprops:write-data-source-name: masterread-data-source-names: slave1

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/83808.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/83808.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/83808.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

SearxNG本地搜索引擎

SearxNG 是一個強大、開源的 元搜索引擎(meta search engine),它不會存儲用戶信息,注重隱私保護,并支持從多個搜索引擎聚合結果,用戶可以自建部署,打造一個無廣告、可定制的搜索平臺。 ?? 什么是 SearxNG? SearxNG 是 Searx 的一個積極維護的分支(fork),意在改進…

Vue3.5 企業級管理系統實戰(十九):菜單管理

篇幅原因&#xff0c;本節先探討菜單管理頁面增刪改查相關功能&#xff0c;角色菜單&#xff0c;菜單權限&#xff0c;動態菜單等內容放在后面。 1 菜單 api 在 src/api/menu.ts 中添加菜單 api&#xff0c;代碼如下&#xff1a; //src/api/menu.ts import service from &qu…

【android bluetooth 協議分析 01】【HCI 層介紹 8】【ReadLocalVersionInformation命令介紹】

1. HCI_Read_Local_Version_Information 命令介紹 1. 功能&#xff08;Description&#xff09; HCI_Read_Local_Version_Information 命令用于讀取本地 Bluetooth Controller 的版本信息&#xff0c;包括 HCI 和 LMP 層的版本&#xff0c;以及廠商 ID 和子版本號。 這類信息用…

React底層架構深度解析:從虛擬DOM到Fiber的演進之路

一、虛擬DOM&#xff1a;性能優化的基石 1.1 核心工作原理 React通過JSX語法將組件轉換為輕量級JavaScript對象&#xff08;即虛擬DOM&#xff09;&#xff0c;而非直接操作真實DOM。這一過程由React.createElement()實現&#xff0c;其結構包含元素類型、屬性和子節點等信息&a…

從AlphaGo到ChatGPT:AI技術如何一步步改變世界?

從AlphaGo到ChatGPT&#xff1a;AI技術如何一步步改變世界&#xff1f; 這里給大家分享一個人工智能學習網站。點擊跳轉到網站。 https://www.captainbed.cn/ccc 前言 在科技發展的歷史長河中&#xff0c;人工智能&#xff08;AI&#xff09;技術無疑是最為璀璨的明珠之一。從…

關于在Unity項目中使用Post Processing插件打包到web端出現的問題

關于在Unity項目中使用Post Processing插件打包到web端出現的問題 解決方法&#xff1a;是不激活攝像機上的Post Processing有關組件&#xff0c;拉低場景中的Directional Light平行光的強度進行web端打包。 &#xff08;烘焙燈光時是可以激活。&#xff09; web端支持這個Pos…

MySQL - 如何突破單庫性能瓶頸

數據庫服務器硬件優化 我們來看看對數據庫所在的服務器是如何進行優化的&#xff0c;服務器是數據庫的宿主&#xff0c;其性能直接影響了數據庫的性能&#xff0c;所以服務器的優化也是數據庫優化的第一步。 數據庫服務器通常是從 CPU、內存、磁盤三個角度進行硬件優化的&…

用 CodeBuddy 搭建「MiniGoal 小目標打卡器」:一次流暢的 UniApp 開發體驗

我正在參加CodeBuddy「首席試玩官」內容創作大賽&#xff0c;本文所使用的 CodeBuddy 免費下載鏈接&#xff1a;騰訊云代碼助手 CodeBuddy - AI 時代的智能編程伙伴 在日常生活中&#xff0c;我們總是希望能夠堅持一些小習慣&#xff0c;比如每天鍛煉十分鐘、讀一頁書、早睡十分…

OpenCV 環境搭建與概述

// //OpenCV-4.11.0 C VS2019 // 一、OpenCV學習路線 1、入門: OpenCV圖像讀寫、視頻讀寫、基本像素處理、基本卷積處理、基本C開發知識。 2、初級: OpenCV自定義卷積操作、圖像梯度、邊緣提取、二值分析、視頻分析、形態學處理、幾何變換與透視變換。 3、中級: 角點查找、BL…

如何快速更換電腦瀏覽器ip:教程與注意事項

無論是為了訪問地域限制內容、保護隱私&#xff0c;還是解決網絡問題&#xff0c;快速更換瀏覽器IP地址的需求日益增多。以下是快速更換電腦瀏覽器IP地址的幾種常用方法及注意事項&#xff0c;結合了多種場景下的解決方案&#xff1a; 一、快速更換瀏覽器IP的方法 1. 代理服務…

【kafka】kafka概念,使用技巧go示例

1. Kafka基礎概念 1.1 什么是Kafka&#xff1f; Kafka是一個分布式流處理平臺&#xff0c;用于構建實時數據管道和流式應用。核心特點&#xff1a; 高吞吐量&#xff1a;每秒可處理百萬級消息持久化存儲&#xff1a;消息按Topic分區存儲在磁盤分布式架構&#xff1a;支持水平…

掌握Git:版本控制與高效協作指南

一、初始Git 提出問題&#xff1a;無論是在工作還是學習&#xff0c;我們在編寫各種文檔的時候&#xff0c;更改失誤&#xff0c;失誤后恢復到原來版本&#xff0c;不得不復制出一個副本。 每個版本由各自的內容&#xff0c;但最終只有一個報告需要被我們使用。 但在此之前的…

【生活相關-日語-日本-東京-搬家后-引越(ひっこし)(3)-踩坑點:國民健康保險】

【生活相關-日語-日本-東京-搬家后-引越&#xff08;ひっこし&#xff09;&#xff08;3&#xff09;-注意點&#xff1a;國民健康保險】 1、前言2、情況說明&#xff08;1&#xff09;問題說明&#xff08;2&#xff09;情況說明&#xff08;1&#xff09;收到情況&#xff08…

linux——mysql故障排查與生產環境優化

目錄 一&#xff0c;mysql數據庫常見的故障 1&#xff0c;故障現象1 2&#xff0c;故障現象2 3&#xff0c;故障現象3 &#xff14;&#xff0c;故障現象&#xff14; &#xff15;&#xff0c;故障現象&#xff15; &#xff16;&#xff0c;故障現象&#xff16; 二&…

【C#】用 DevExpress 創建帶“下拉子表”的參數表格視圖

展示如何用 DevExpress 創建帶“下拉子表”的參數表格視圖。主表為 參數行 ParamRow&#xff0c;子表為 子項 ChildParam。 一、創建模型類 public class ParamRow {public string Pn { get; set; }public string DisplayName { get; set; }public string Value { get; set; }…

【JavaScript】用 Proxy 攔截對象屬性

目錄 一、Proxy 的基本結構&#xff08;打地基&#xff09; 二、最常用的兩個攔截方法&#xff1a;get 和 set 1. get(target, key) 2. set(target, key, value) 三、說到這&#xff0c;那就可以回到題目來 四、什么是 Reflect&#xff1f; 總結不易&#xff0c;本章節對…

[IMX] 02.GPIO 寄存器

目錄 手冊對應章節 1.GPIO 復用&#xff08;引腳功能選擇&#xff09;- IOMUXC_SW_MUX_CTL_PAD_xxx 2.GPIO 電氣特性 - IOMUXC_SW_PAD_CTL_PAD_xxx 3.GPIO 數據與控制寄存器 3.1.數據 - DR 3.2.輸入/輸出選擇 - GDIR 3.3.狀態 - PSR 3.4.中斷觸發控制 - ICR 3.5.中斷使…

Tomcat 配置 HTTPS 訪問全攻略(CentOS 環境)

Tomcat 配置 HTTPS 訪問全攻略&#xff08;CentOS 環境&#xff09; 一、環境說明 操作系統&#xff1a;CentOS Tomcat 版本&#xff1a;Apache Tomcat/9.0.105 服務器 IP&#xff1a;192.168.1.35 目標&#xff1a;將 Tomcat 默認的 HTTP 訪問升級為 HTTPS&#xff0c;提…

Flink 運維監控與指標采集實戰(Prometheus + Grafana 全流程)

一、引言:為什么 Flink 運維監控如此重要? 在實時計算場景中,Flink 作業 724 小時運行,對性能、資源、故障感知、狀態變化的實時監控非常關鍵。沒有有效的運維可觀測體系: 不知道任務是否在穩定運行 發生問題難以快速定位 無法感知背壓、延遲、反壓等狀態 因此,構建完善…

【prometheus+Grafana篇】基于Prometheus+Grafana實現Oracle數據庫的監控與可視化

&#x1f4ab;《博主主頁》&#xff1a; &#x1f50e; CSDN主頁 &#x1f50e; IF Club社區主頁 &#x1f525;《擅長領域》&#xff1a;擅長阿里云AnalyticDB for MySQL(分布式數據倉庫)、Oracle、MySQL、Linux、prometheus監控&#xff1b;并對SQLserver、NoSQL(MongoDB)有了…