设为首页 加入收藏

TOP

Shading-JDBC、ShadingSphere、ShardingProxy 使用详解(五)
2023-07-23 13:43:50 】 浏览:81
Tags:Shading-JDBC ShadingSphere ShardingProxy
7.0.0.1:3306/sd1?serverTimezone=UTC&useSSL=false username: root password: root connectionTimeoutMilliseconds: 30000 idleTimeoutMilliseconds: 60000 maxLifetimeMilliseconds: 1800000 maxPoolSize: 10 sp_2: url: jdbc:mysql://127.0.0.1:3306/sd2?serverTimezone=UTC&useSSL=false username: root password: root connectionTimeoutMilliseconds: 30000 idleTimeoutMilliseconds: 60000 maxLifetimeMilliseconds: 1800000 maxPoolSize: 10 shardingRule: tables: student: actualDataNodes: sp_${1..2}.student_${0..1} tableStrategy: inline: shardingColumn: id algorithmExpression: student_${id % 2} databaseStrategy: inline: shardingColumn: grade algorithmExpression: sp_${grade % 2 + 1} keyGenerator: type: SNOWFLAKE column: id bindingTables: - student

分表案例


修改配置文件config-sharding.yaml如下


schemaName: sharding_db
dataSources:
  master:
    username: root
    password: 123456
    url: jdbc:mysql://192.168.136.160:3307/masterdb?serverTimezone=Asia/Shanghai&characterEncoding=utf8&autoReconnect=true&zeroDateTimeBehavior=convertToNull&useSSL=false
    connectionTimeoutMilliseconds: 30000
    idleTimeoutMilliseconds: 60000
    maxLifetimeMilliseconds: 1800000
    maxPoolSize: 10
  slave1:
    username: root
    password: 123456
    url: jdbc:mysql://192.168.136.160:3308/masterdb?serverTimezone=Asia/Shanghai&characterEncoding=utf8&autoReconnect=true&zeroDateTimeBehavior=convertToNull&useSSL=false
    connectionTimeoutMilliseconds: 30000
    idleTimeoutMilliseconds: 60000
    maxLifetimeMilliseconds: 1800000
    maxPoolSize: 10
  slave2:
    username: root
    password: 123456
    url: jdbc:mysql://192.168.136.160:3309/masterdb?serverTimezone=Asia/Shanghai&characterEncoding=utf8&autoReconnect=true&zeroDateTimeBehavior=convertToNull&useSSL=false
    connectionTimeoutMilliseconds: 30000
    idleTimeoutMilliseconds: 60000
    maxLifetimeMilliseconds: 1800000
    maxPoolSize: 10
shardingRule:
  tables:
    goods:
      actualDataNodes: ds_ms1.goods_${0..1}
      tableStrategy:
        inline:
          shardingColumn: id
          algorithmExpression: goods_${id%2}
      keyGenerator:
        type: SNOWFLAKE
        column: id
  bindingTables: 
    - goods
  masterSlaveRules:
    ds_ms1:
      loadBalanceAlgorithmType: round_robin
      masterDataSourceName: master
      slaveDataSourceNames: 
        - slave1
        - slave2

MySQL主从复制


① 创建master容器

  1. 创建配置

    
    mkdir -p /data/mysql/master/conf
    # master数据库配置
    sudo tee /data/mysql/master/conf/mysqld.cnf <<-'EOF'
    [mysqld]
    server-id = 1        # 节点ID,确保唯一
    
    # log config
    log-bin = mysql-bin     #开启mysql的binlog日志功能
    sync_binlog = 1         #控制数据库的binlog刷到磁盘上去 , 0 不控制,性能最好,1每次事物提交都会刷到日志文件中,性能最差,最安全
    binlog_format = mixed   #binlog日志格式,mysql默认采用statement,建议使用mixed
    expire_logs_days = 7                           #binlog过期清理时间
    max_binlog_size = 100m                    #binlog每个日志文件大小
    binlog_cache_size = 4m                        #binlog缓存大小
    max_binlog_cache_size= 512m              #最大binlog缓存大
    binlog-ignore-db=mysql #不生成日志文件的数据库,多个忽略数据库可以用逗号拼接,或者 复制这句话,写多行
    
    auto-increment-offset = 1     # 自增值的偏移量
    auto-increment-increment = 1  # 自增值的自增量
    slave-skip-errors = all #跳过从库错误
    EOF
    
    
  2. 创建容器

    
    # 创建master数据库
    docker run --name mysql-master -p 3307:3306 -e MYSQL_ROOT_PASSWORD=123456 \
    -v /data/mysql/master/conf/mysqld.cnf:/etc/mysql/mysql.conf.d/mysqld.cnf \
    -v /data/mysql/master/data:/var/lib/mysql \
    -d mysql:5.7
    
    

② 创建2个slave容器

  1. 创建slave的配置

首页 上一页 2 3 4 5 6 下一页 尾页 5/6/6
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇排序算法中的冒泡和选择排序详解.. 下一篇IO流 p7 对象流-ObjectInputStrea..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目