1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/hanchuanchuan-goInception

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Это зеркальный репозиторий, синхронизируется ежедневно с исходного репозитория.
Клонировать/Скачать
backup.md 2.5 КБ
Копировать Редактировать Исходные данные Просмотреть построчно История
hanchuanchuan Отправлено 6 лет назад e9bd4c3

备份功能说明

goInception自带备份功能,首先服务启动时配置config.toml(放在 [inc] 段)

参数 默认值 可选范围 说明
backup_host "" string 备份数据库IP地址
backup_port 0 int 备份数据库端口
backup_user "" string 备份数据库用户名
backup_password "" string 备份数据库密码

并且在执行sql时,添加--backup=true选项

/*--user=root;--password=root;--host=127.0.0.1;--port=3306;--execute=1;--backup=1;*/
inception_magic_start;
use test;
create table t1(id int primary key);
inception_magic_commit;

备份功能写入规则

  • 在备份服务器上,备份库的命名格式为:IP_PORT_库名,例如127_0_0_1_3306_test

  • 在备份库上创建备份信息表$_$Inception_backup_information$_$,用来保存该库的执行信息和回滚语句信息

    字段名 类型 说明
    opid_time varchar(50) 执行操作ID,格式为时间戳_线程号_执行序号
    start_binlog_file varchar(512) 起始binlog文件
    start_binlog_pos int(11) 起始binlog位置
    end_binlog_file varchar(512) 终止binlog文件
    end_binlog_pos int(11) 终止binlog位置
    sql_statement text 执行SQL
    host varchar(64) 执行IP地址
    dbname varchar(64) 执行库名
    tablename varchar(64) 执行表名
    port int(11) 执行端口
    time timestamp 执行时间
    type varchar(20) 操作类型
  • 在备份库有和操作表相同的表名,其表结构统一为:

    字段名 类型 说明
    id bigint 自增主键
    rollback_statement mediumtext 回滚语句
    opid_time varchar(50) 关联执行操作ID

备份功能详细步骤

  1. 配置备份数据库,并在执行SQl时开启备份功能
  2. 在执行SQL前记录binlog位置和线程号(逐条执行逐条记录)
  3. 执行SQL
  4. 在执行SQL后记录binlog位置和线程号
  5. 开始备份,解析远程服务器binlog
  6. 在备份服务器创建备份库
  7. 创建备份信息表,写入执行信息和binlog位置信息
  8. 创建备份表,
  9. 逐步解析binlog,并生成回滚语句,写入备份表

Комментарий ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://gitlife.ru/oschina-mirror/hanchuanchuan-goInception.git
git@gitlife.ru:oschina-mirror/hanchuanchuan-goInception.git
oschina-mirror
hanchuanchuan-goInception
hanchuanchuan-goInception
v1.2.3