DBコピーとマスク
5142 ワード
DB沙丁実習回顧
なぜ海西沙丁(partition)と海西沙丁の大きさが大きく異なるのですか?
サディンは負荷バランス
サディンは負荷バランス技術です
複製とサディンの結合
Shading(Write Scale)+Read Scale(レプリケーション)
実習
デバイスの設定
コピー
MySQLマスタープロファイルのコピー
cd /home/자신
mkdir master
vi config_file.cnf
[mysqld]
log-bin=mysql-bin
server-id=1
cd /home/자신
mkdir slave
vi config_file.cnf
[mysqld]
server-id=2
read_only=1
ドッキングの作成
docker run -d -p 3308:3306 -e MYSQL_ROOT_PASSWORD=ssu -v /home/자신/master/:/etc/mysql/conf.d --name=shard_db1 mariadb:10.1
docker run -d -p 3310:3306 -e MYSQL_ROOT_PASSWORD=ssu -v /home/자신/slave/:/etc/mysql/conf.d --name=shard_db1_slave mariadb:10.1
ipの検証
$ docker inspect shard_db1 | grep IPAddress
$ docker inspect shard_db1_slave | grep IPAddress
プライマリ設定
select @@server_id;
show master status;
값 저장 해놓기
CREATE USER 'repluser'@'%' IDENTIFIED BY 'replpw';
GRANT REPLICATION SLAVE ON *.* TO 'repluser'@'%';
セカンダリサーバの設定
CHANGE MASTER TO MASTER_HOST='서버IP주소', MASTER_USER='복제슬레이브
계정명', MASTER_PASSWORD='계정비밀번호', MASTER_LOG_FILE='바이너리로그파일명',
MASTER_LOG_POS=바이너리로그상의 위치;
start slave;
サディン
これを真似てください
ダウンロードlaunchpad
これを真似てください
Webアプリケーションの設定
build.gradle
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
runtimeOnly 'org.mariadb.jdbc:mariadb-java-client'
implementation 'org.springframework.boot:spring-boot-starter-web'
compileOnly 'org.projectlombok:lombok'
implementation 'org.springframework.boot:spring-boot-starter-validation'
developmentOnly 'org.springframework.boot:spring-boot-devtools'
annotationProcessor 'org.springframework.boot:spring-boot-configuration-processor'
annotationProcessor 'org.projectlombok:lombok'
testImplementation 'org.springframework.boot:spring-boot-starter-test'
}
application.yml
spring:
datasource:
url: jdbc:mariadb://172.17.0.2:3306/employees
driver-class-name: org.mariadb.jdbc.Driver
username: root
password: ssu
jpa:
open-in-view: false
show-sql: true
generate-ddl: false
format-sql: true
hibernate:
ddl-auto: none
JAvaコード
githubで参考にしてください~
https://github.com/bangjom/Sharding-Replication
Reference
この問題について(DBコピーとマスク), 我々は、より多くの情報をここで見つけました
https://velog.io/@kbj7227/DB-복제와-샤딩
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
cd /home/자신
mkdir master
vi config_file.cnf
[mysqld]
log-bin=mysql-bin
server-id=1
cd /home/자신
mkdir slave
vi config_file.cnf
[mysqld]
server-id=2
read_only=1
docker run -d -p 3308:3306 -e MYSQL_ROOT_PASSWORD=ssu -v /home/자신/master/:/etc/mysql/conf.d --name=shard_db1 mariadb:10.1
docker run -d -p 3310:3306 -e MYSQL_ROOT_PASSWORD=ssu -v /home/자신/slave/:/etc/mysql/conf.d --name=shard_db1_slave mariadb:10.1
$ docker inspect shard_db1 | grep IPAddress
$ docker inspect shard_db1_slave | grep IPAddress
select @@server_id;
show master status;
값 저장 해놓기
CREATE USER 'repluser'@'%' IDENTIFIED BY 'replpw';
GRANT REPLICATION SLAVE ON *.* TO 'repluser'@'%';
CHANGE MASTER TO MASTER_HOST='서버IP주소', MASTER_USER='복제슬레이브
계정명', MASTER_PASSWORD='계정비밀번호', MASTER_LOG_FILE='바이너리로그파일명',
MASTER_LOG_POS=바이너리로그상의 위치;
start slave;
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
runtimeOnly 'org.mariadb.jdbc:mariadb-java-client'
implementation 'org.springframework.boot:spring-boot-starter-web'
compileOnly 'org.projectlombok:lombok'
implementation 'org.springframework.boot:spring-boot-starter-validation'
developmentOnly 'org.springframework.boot:spring-boot-devtools'
annotationProcessor 'org.springframework.boot:spring-boot-configuration-processor'
annotationProcessor 'org.projectlombok:lombok'
testImplementation 'org.springframework.boot:spring-boot-starter-test'
}
spring:
datasource:
url: jdbc:mariadb://172.17.0.2:3306/employees
driver-class-name: org.mariadb.jdbc.Driver
username: root
password: ssu
jpa:
open-in-view: false
show-sql: true
generate-ddl: false
format-sql: true
hibernate:
ddl-auto: none
Reference
この問題について(DBコピーとマスク), 我々は、より多くの情報をここで見つけました https://velog.io/@kbj7227/DB-복제와-샤딩テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol