当前位置:文档之家› MySQL数据库定时备份与恢复使用手册v1.0

MySQL数据库定时备份与恢复使用手册v1.0

致远(OA)备份产品MySQL数据库定时备份与恢复使用手册目录1、MySQL备份恢复概述及功能介绍 (3)1.1 概述 (3)1.2 功能介绍 (3)2、MySQL相关介绍 (4)2.1 MySQL系统数据库及其作用 (4)2.2 数据库备份类型 (4)2.3 数据库恢复模式 (5)3、MySQL数据库备份指导 (5)3.1 建立备份任务与定时计划 (6)3.2 执行策略 (10)3.3 编辑策略 (11)3.4 删除策略 (13)3.5 备份策略 (13)4、MySQL数据库恢复 (14)5、常见问题汇总 (16)6、附件 (17)6.1 修改mysql配置文件下缓冲池大小 (17)1、MySQL备份恢复概述及功能介绍1.1 概述可实现对MySQL数据库的热备份和恢复。

支持MySQL数据库的完全备份。

提供完全备份循环策略,细化数据库备份计划。

自定义备份保留个数,节省了备份空间。

提供时间点恢复,精确恢复到备份的时间点。

1.2 功能介绍2、MySQL相关介绍MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle 公司。

Mysql是最流行的关系型数据库管理系统,在WEB应用方面MySQL是最好的RDBMS(Relational Database Management System:关系数据库管理系统)应用软件之一。

MySQL 是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。

MySQL所使用的SQL语言是用于访问数据库的最常用标准化语言。

MySQL软件采用了双授权政策(本词条“授权政策”),它分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择MySQL作为网站数据库。

由于其社区版的性能卓越,搭配PHP 和Apache可组成良好的开发环境。

2.1 MySQL系统数据库及其作用2.2 数据库备份类型2.3 数据库恢复模式3、MySQL数据库备份指导备份前提条件(1): 目前该版本只支持两种类型的表,即InnoDB与MyISAM(2):针对一些应用与MySQL数据库的集成环境,需要根据实际环境来确定支持情况,比如有的环境没有具体的MySQL数据库服务。

3.1 建立备份任务与定时计划步骤一.执行安装目录下start_ControlView.bat或者Linux终端中执行./start_ControlView.sh启动控制台,在登录窗口中,输入控制端服务器IP、控制端数据库端口号、控制端端口、用户名与密码。

如图3-1图3-1提示:控制端端口默认为9000,用户名默认为admin,密码默认为123。

步骤二.进入【策略列表】界面,点击左下角【新建策略】按钮新建数据库备份策略。

在弹出的窗口中,选择【所属代理】,【数据源类型】为【Mysql】,输入策略名。

如图 3-2图3-2步骤三.点击【下一步】按钮,进入【连接配置】界面,填写代理端Mysql数据库用户名、密码、端口号,代理端IP地址自动获取。

如图3-3图3-3提示:1、确保代理机器的防火墙是关闭状态2、连接数据库账户必须有远程连接的权限,命令为show grants for 账户名;3、若该账户没有远程连接的权限,需要赋给账户权限,命令为:GRANT ALL PRIVILEGES ON *.* TO 账户名@'%' IDENTIFIED BY '密码';4、再通过命令show grants for 账户名,查看权限是否赋予成功。

5、数据库用户密码不能为特殊字符。

步骤四.选择需要备份的数据库(可以勾选多个数据库)。

如图3-4图3-4提示:1.不可以备份Mysql数据库自身系统数据库。

2.备份空数据库时,日志列表中信息显示成功,但日志详情中显示失败。

3.不同任务不能同时备份同一个数据库。

步骤五.点击【下一步】按钮,进入【备份周期】界面,点击【添加】按钮,选择相应的备份类型(完全)、周期、频率和持续时间。

如图3-5图3-5提示:1.控制界面所在机器的系统时间与代理端所在系统时间一致2.定时执行的时间是整点开始执行,比如开始时间为9:22,每隔10分钟执行一次,那么第一次的执行时间为9:30,下次执行时间为9:403.只有勾选了重复时间间隔,重复间隔范围才可以进行设置,时间段为0-23时4.若设置定时运行任务为每隔4小时执行,那么执行时间是按照4的倍数整点执行5.若设置某天某个点执行备份任务(比如勾选周三,开始时间为14:20),首次到达备份时间点时,该备份任务不执行备份,下次到达执行时间点时开始进行备份6.已勾选的周期必须至少一次在结束时间之内否则会导致策略无法定时执行。

7.备份策略需要根据用户实际情况(用户数据库大小、数据库修改频率、修改变化量、用户对数据恢复的精度)来确定8.为了不影响系统性能,建议进行备份的时间选择在数据库较为空闲时步骤六.计划任务设置完成后,点击【确定】按钮,点击【下一步】按钮,完成任务计划设置,跳转到【存储配置】界面。

如图3-6图3-6在弹出窗口中选择指定存储位置并且设定最新保留的版本数(默认保留最新5个备份版本)。

提示:1.默认保留版本数为5个,即保留5个完全备份集。

建议用户根据自身实际所需,设定备份保留个数。

2.请勿设置多个任务同时对同一数据库进行备份。

3.不支持同时备份数据库。

步骤七:存储配置设置完成后,点击【完成】按钮,完成策略计划设置,自动转到【策略列表】界面。

如图3-7图3-73.2 执行策略当手动执行或者到达定时任务执行的时间点时,在作业列表中会显示该策略执行情况,如图3-8图3-8当作业执行完成,会在作业列表中消失,日志列表会记录该作业的执行详细。

提示:如果执行策略时出现卡住现象,进入mysql配置文件,把no_beep参数注释掉即可。

3.3 编辑策略选中策略,点击【编辑策略】按钮,弹出编辑窗口,点击【下一步】按钮至【备份周期】界面。

先选择已设置好的备份周期点击【删除】按钮,如图3-9再点击添加按钮,设置新的备份周期。

如图3-10点击【下一步】按钮,修改保留版本数。

如图3-11图3-113.4 删除策略选中策略,点击【删除】,策略删除,之后不会再执行此策略的相关操作。

提示:若存在代理端离线,删除该代理端下的策略,当该代理端再次在线时,会自动添加删除的策略。

3.5 备份策略为了更好的保护您的MySQL数据库,我们提供最佳备份策略(建议实施人员根据实际情况设置)。

1:每周做一次完全备份,周末进行。

2:若用户数据库数据量不多或者空间允许,可以每周做两次完全备份,视用户情况而定。

3:保留三个月的备份版本数目。

以下是各种特殊情况下用户数据库备份参考策略:1:用户数据库应用非常频繁,只能容忍半小时或10分钟的数据丢失。

数据库应用非常频繁,则应加大各种备份的频率。

可以每周备份2-3次完全备份。

2:用户数据库非常大用户数据库非常大,则备份需要消耗更长时间,建议按照每周做一次完全备份,周末进行。

4、MySQL数据库恢复步骤一.进入【作业列表】界面,点击【新建恢复作业】按钮,如图4-1在弹出的窗口中选择【恢复类型】为Mysql,【所属代理】和【备份集所在位置】。

图4-1提示:【备份集所在位置】下拉列表可以进行快速显示,如果策略已被删除,那么备份集快速显示功能就不存在,只能通过浏览功能进行查找备份集存放位置。

步骤二.点击【下一步】,在【MySQL数据库】界面,备份集按照数据库名称排列,同一任务按照时间升序排列。

选择所需恢复任务下的备份时间点。

如图4-2图4-2提示:恢复时,选择的数据库必须存在,如果数据库不存在会导致失败。

步骤三.点击【下一步】按钮后,弹出【连接配置】对话框。

如图4-3在弹出窗口中输入代理端的Mysql数据库用户名与密码,IP地址自动显示选择的代理端IP。

图4-3点击【完成】按钮,进入作业列表,显示恢复作业。

提示:导致恢复速度变慢因素:mysql配置文件下缓冲池较小,修改mysql配置文件,增大缓冲池大小,即可。

(具体操作步骤详见附件6.2 修改mysql配置文件)。

5、常见问题汇总1. A:为什么不能对系统数据库进行备份?Q:因为系统数据库中会存在一些其他引擎类型的表,而当前版本只支持默认的InnoDB 和myISAM类型,所以不支持系统数据库的备份。

2.A:为什么在备份用户数据库时会失败?Q:首先要检查目标数据库中是否含有除了InnoDB或MyISAM的其他类型的表,通过到存放MySQL数据目录下,查看每个数据文件的后缀,即可确定是否存在其他类型的表。

注:MyISAM类型的表后缀为:.frm、.MYD、.MYI。

3.A:为什么要给Mysql账户赋予远程连接权限?Q:当控制界面与代理端不在同一台机器上时,需要开启远程连接的权限,否则在新建策略的时候,数据库会连接失败。

4.A:该系统会占用几个端口?Q:该系统会占用4个通信端口,分别为9000,9001,9002与9010。

9000是控制端用于对外通信启用的端口,9001是代理端管理中心通信端口,9002是代理端计时器通信端口,9010是代理端作业控制起始端口。

5.A:是否支持断点备份?备份过成功中如果代理重启,备份任务是否继续运行?Q: 备份过程中关闭代理端3个进程,如果备份的进程还存在,再开启代理端进程的时候会继续备份;如果备份的进程不存在,再开启代理端进程的时候提示用户中止操作。

6.A:为什么控制界面所在机器的系统时间与代理端所在系统时间一致?Q:定时器的时间设置是按照控制端界面所在机器的系统时间为准,但是定时任务的执行时间是按照代理端所在机器上的系统时间为准。

7.A:为什么设置某天的某个点执行备份任务(比如勾选周三,开始时间为14:20),首次到达备份时间点时,该备份任务不执行备份,下次到达执行时间点时才开始进行备份? Q:设置当天某时的任务,任务执行时间是在整分,即秒位为00时执行,而调度器的启动时间是界面的开始时间,且精确到秒,而且命令发出到任务执行存在时间差,所以当调度器开启时,当天的备份任务时间已经过去了。

(ps:只有调度器启动,任务才能执行)6、附件6.1 修改mysql配置文件下缓冲池大小第一步:打开MySQL安装目录,找到my.ini配置文件,复制该文件并命名为my1.ini。

第二步:编辑my.ini文件,修改Innodb_flush_log_at_trx_commit参数为0。

并查看Innodb_buffer_pool_size的大小,若Innodb_buffer_pool_size的值大于系统内存的10%,可以不用修改,若Innodb_buffer_pool_size的值小于系统内存的10%,则修改Innodb_buffer_pool_size的值为系统内存的10%。

相关主题