教你怎样实现MySQL数据库双机热备份

教你怎样实现MySQL数据库双机热备份,第1张

还好MySQL数据提供了一种主从备份的机制,其实就是把主数据库的所有的数据同时写到备份数据库中。实现MySQL数据库的热备份。 2、要想实现双机的热备首先要了解主从数据库服务器的版本的需求。要实现热备MySQL的版本都要高于3.2,还有一个基本的原则就是作为从数据库的数据库版本可以高于主服务器数据库的版本,但是不可以低于主服务器的数据库版本。 3、设置主数据库服务器: a.首先查看主服务器的版本是否是支持热备的版本。然后查看my.cnf(类Unix)或者my.ini(Windows)中MySQLd配置块的配置有没有log-bin(记录数据库更改日志),因为MySQL的复制机制是基于日志的复制机制,所以主服务器一定要支持更改日志才行。然后设置要写入日志的数据库或者不要写入日志的数据库。这样只有您感兴趣的数据库的更改才写入到数据库的日志中。 server-id=1 //数据库的id这个应该默认是1就不用改动 log-bin=log_name //日志文件的名称, //这里可以制定日志到别的目录 如果没有设置则默认主机名的一个日志名称 binlog-do-db=db_name //记录日志的数据库 binlog-ignore-db=db_name //不记录日志的数据库以上的如果有多个数据库用","分割开 然后设置同步数据库的用户账号 MySQL>GRANT REPLICATION SLAVE ON *.* ->TO 'repl'@'%.mydomain.com' IDENTIFIED BY 'slavepass'4.0.2以前的版本, 因为不支持REPLICATION 要使用下面的语句来实现这个功能 MySQL>GRANT FILE ON *.* ->TO 'repl'@'%.mydomain.com' IDENTIFIED BY 'slavepass'设置好主服务器的配置文件后重新启动数据库 b.锁定现有的数据库并备份现在的数据 锁定数据库 MySQL>FLUSH TABLES WITH READ LOCK备份数据库有两种办法一种是直接进入到MySQL的data目录然后打包你需要备份数据库的文件夹,第二种是使用MySQLdump的方式来备份数据库但是要加上"--master-data " 这个参数,建议使用第一种方法来备份数据库

数据备份是意见很重要的事情,对于 MySQL通常有热备份和冷备份两中,冷备份就是指停掉 MySQL服务然后备份数据文件,热备份就是在不停掉 MySQL服务的情况下进行备份。

MySQL 软件包提供了一个名为 mysqlhotcopy 的 Perl程序帮助我们完成热备份。

举例:mysqlhotcopy -uuser -ppass dbname backupdir

用法: /usr/bin/mysqlhotcopy db_name[./table_regex/] [new_db_name | directory]

参数:

-u, --user=# 用户名

-p, --password=# 密码

-h, --host=# 主机

-P, --port=# 端口

-S, --socket=# 套接字位置

--allowold 假如备份目标存在将其命名为 _oldXXXX再继续

--addtodest 假如备份目标存在直接添加新文件,不重命名

--keepold不删除重命名为 _oldXXXX的文件

--noindices 不保留所有索引

--method=# 复制的方法 目前仅支持 cp

-q, --quiet 安静模式,除非发生错误

--debug 启动调试

-n, --dryrun 仅现实将要执行的动作但是不实际执行

--regexp=# 复制所有数据库名和指定内容正则匹配的数据库

--suffix=# 指定要复制的数据前缀

--checkpoint=# 将备份检测点插入到指定数据库的数据表中 形如:db.table

--flushlog 一旦所有标锁定就刷新日志

--resetmaster重置binlog一旦所有的被锁定

--resetslave 重置 master.info一旦所有的被锁定

--tmpdir=# 指定临时目录而不是 /tmp

--record_log_pos=# 记录主从状态到指定数据库的表中 形如:db.table

--chroot=# 当执行 MySQL *** 作的时候chroot到指定目录

手动热备份 MyISAM引擎的数据库

我们通过 锁表->复制备份->解锁 的流程进行

# mysql命令

flush tables with read lock

# 系统命令

cp -R /database/path/ /backup/path

# mysql命令

unlock tables

可能遇到的错误:

Can’t locate DBI.pm in @INC

解决:

perl -MCPAN -e “install DBI”

perl -MCPAN -e “install DBD::mysql”

This entry was written by zpz, posted on 2013 年 1 月 18 日 at 上午 11:52, filed under mysql and tagged Mysql备份, Mysql数据备份. Bookmark the permalink. Follow any comments here with the RSS feed for this post. Post a comment or leave a trackback: Trackback URL.

利用UCache灾备云平台,可作为一个工具,在window服务器现有架构不变的情况下,针对Mysql数据库每天自动备份定时备份。

(1)新建备份任务

UCACHE灾备云控制台登录账号后:点击【服务器定时数据保护】--【数据备份】点击【新建】按钮,然后选要保护的对象(您的生产服务器节点),选中对应的客户端,选择【文件系统】然后点击【 下一步 】

(2)设置备份策略

选择要进行备份的文件

(3)永久增量备份与数据保留设置

选择完要过滤的数据之后点击下一步,可进行下一步备份的高级功能选择,各个选项说明如下:

【永久增量备份】开启了永久增量备份每一次增量备份都会进行一次时间点合成形成新的一个永久增量时间点等效于完备时间点。

【数据保留策略】开启数据保留策略一共有三种保留策略分别为数据保留期限、保留副本数、按备份策略的备份周期设置副本保留策略默认选中数据保留期限一年。可以设置保留完全副本的个数最大可设置1024个副本按备份策略的备份周期设置副本保留策略最大可设置99999个副本。

【传输和存储加密】开启传输加密与存储加密选项开启此功能的任务的数据在传输和存储上都经过加密处理。一共有两种加密方式AES256加密算法、SM4加密算法。

【数据压缩】默认不开启开启该选项后默认启用快速压缩可选择启用强力压缩

【重复数据删除】勾选该选项可以启动源端重复数据删除的功能该选项在建立任务后不能通过修改任务的方式更改此属性。指纹库需要提前创建才能成功开启重删功能

最后新建完成

目录和文件内容,可以全选和分选,还可以利用UCACHE灾备云控制台的“文件过滤”“目录过滤”“时间过滤”功能进行不必要的数据不进行备份策略添加。为了备份效率不建议两个任务包含同一文件。

(4)设置邮件告警

备份执行完毕,会得到系统的执行反馈,也可以设定告警监控策略,进行邮件监控


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/6187906.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-03-17
下一篇2023-03-17

发表评论

登录后才能评论

评论列表(0条)

    保存