cetus/doc/cetus-mysql-prepare.md

80 lines
2.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Cetus MySQL准备说明
MySQL建议使用5.7.16以上版本
## 创建数据库实例
创建数据库实例以及Cetus连接MySQL的用户和密码。
例如:
Cetus所在的主机ip为192.0.0.1
CREATE database if not exists testdb;
GRANT USAGE ON *.* TO 'cetus_app'@'192.0.0.1' identified by 'cetus_app';
GRANT all ON `testdb`.* TO 'cetus_app'@'192.0.0.1';
## 读写分离版MySQL环境准备
若使用读写分离功能则需要搭建MySQL主从关系若开启读写延迟检测需要创建心跳库和表
### 搭建MySQL主从关系
例如:
- 在主库上操作:
**创建repl用户**
192.0.0.1为MySQL从库ip
CREATE USER 'repl'@'192.0.0.1' IDENTIFIED BY 'xxxxxx';
REVOKE ALL PRIVILEGES ,GRANT OPTION FROM 'repl'@'192.0.0.1';
GRANT RELOAD,LOCK TABLES, REPLICATION CLIENT ,REPLICATION SLAVE ON *.* TO 'repl'@'192.0.0.1';
FLUSH PRIVILEGES;
- 在从库上操作:
**开启主从复制**
MySQL主库ip为192.0.0.1
1) 非gtid
change master TO master_host='192.0.0.1',
master_user='repl',master_password='xxxxxx',
master_port=3306,master_log_file='mysql-bin.000001',
master_log_pos=1124;
start slave;
2) gtid
CHANGE MASTER TO
MASTER_HOST='192.0.0.1',
MASTER_USER='repl',
MASTER_PASSWORD='xxxxxx',
MASTER_PORT=3306,
master_auto_position=1,
MASTER_CONNECT_RETRY=10;
start slave;
### 主从延迟检测准备
创建心跳库和心跳表,并为用户授权
例如:
Cetus所在的主机ip为192.0.0.1
create database if not exists proxy_heart_beat;
use proxy_heart_beat;
CREATE TABLE if not exists `tb_heartbeat` (
`p_id` varchar(128) NOT NULL ,
`p_ts` timestamp(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
PRIMARY KEY (`p_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
GRANT ALL ON `proxy_heart_beat`.* TO 'cetus_app'@'192.0.0.1';
## sharding版MySQL环境准备
若使用sharding功能则需要根据业务创建业务表并进行分库设计,若开启主从延迟检测,请参考读写分离版本配置心跳库和心跳表。