mysql 备份方案

一、 数据库备份和恢复策略

a) 直接拷贝文件

直接将/usr/share/TSMIS/mysql/test 文件夹拷贝到其他地方。

mysqlhotcopy db_name /path/to/some/dir

只适合MyISAM表,实际上是复制表文件(.frm, ,MYI, .MYD)

缺点:会锁表。只能恢复到上一次备份的状态。

优点:速度快。45万条数据花了17s。

wps_clip_image-25872

b) Mysqldump

i. mysqldump --tab=/path/to/some/dir --opt db_name

ii. 

1. 开启二进制日志,重启服务。

在my.cnf中的mysqld段中,增加:

wps_clip_image-29082

在相应目录下会产生mysql-bin.000001 mysql-bin.index文件。对这个数据进行update、insert、delete操作的时候,响应的操作就会被记录到mysql-bin.xxxxxx 文件中。

2. 使用mysqldump 备份的时候,加上  --flush-logs  --delete-master-log 选项,备份之后,会删除以前的二进制日志文件。

3. 恢复的时候,需要先将mysqldump 备份的文件恢复。之后,使用mysqlbinlog 工具,将二进制日志转换成sql 重新导入。

mysqlbinlog hostname-bin.[0-9]* > test_bk.sql

优点:可以完全备份。

缺点:备份速度稍慢。45万条数据30s左右。日志占空间。

c) 通过程序进行同步

i. 创建一个备份数据库test_bak,定时执行一个任务,将test中的数据转存到test_bak中。当test出问题的时候,将test_bak中的数据重新转存到test中。

ii. 

二、 数据库表结构整理

a) 将过车信息表合并,删除无用的表,删除无用的存储过程。

i. 删除brand、subbrand、uploadqueue相关表。

ii. 合并几表vehicleinfo, vehiclelicense, vehicletype, bodycolor, picture为ehicleinfo,删除其中的:colorname, 增加:colorcode

iii. 删除存储过程,只保留inserttrafficdata和deletehistorydata。

iv. 视图vehicle是否保留?

v. 其他的表:role相关的表也删除。

vi. 增加字典表,全局配置表,历史状态表,操作日志表。

b) 其他要修改的地方

c) 视频电警表整理问题

i. 

10.67.51.151

原文地址:https://www.cnblogs.com/xianqingzh/p/2245875.html