作为流行的开源数据库管理系统, MySQL 的使用者众多, 为了维护数据安全性, 数据备份是必不可少的. 本文就为大家介绍几种适用于企业的数据备份方法.
使用 MySQLDump 进行 MySQL 备份
mysqldump 是 MySQL 内置的工具, 允许用户将数据库指定不同的选项备份到文件, 服务器, 甚至是压缩 gzip 文件中. mysqldump 实用程序灵活, 快速, 可执行高级备份, 并接受各种命令行参数, 用户可通过这些参数来更改备份数据库的方式.
Windows 操作系统中的 c:mysqlbin 和 Unix / Linux 系统的 / usr/local/MySQL/bin 中可找到 mysqldump 实用程序, 将不同的参数传递给 mysqldump 实用程序, 就可以以下形式使用.
- mysqldump ---user [user name] ---password= [password]
- [database name]> [dump file]
手动备份, 只需要 MySQL 数据库的密码, 使用 p 选项作为密码, 将命令发送到 mysqldump. 例如, 要备份所有数据库, 请使用 all databases:
Mysqldump -u USER -p -all-databases> /mnt/backups/all
使用 MySQLpump 进行 MySQL 备份
MySQLpump 类似于 mysqldump, 生成支持并行化的逻辑备份. MySQLpump 以并行方式为多个数据库执行所有与转储相关的操作, 这大大减少了执行逻辑备份所花费的时间.
但是, MySQLpump 不备份 performance_schema,sys schema 和 ndbinfo, 因此您必须使用 - databases 来命名它们, 它也不会转储用户帐户定义.
Shell> mysqlpump -exclude-databases=% --users
使用 AutoMySQLBackup 进行 MySQL 备份
AutoMySQLBackup 可以备份服务器上的数据库, 无论是单个, 多个还是所有数据库. 每个数据库都保存在一个单独的文件中, 可以压缩该文件. 如何执行呢? 只需下载一个文件 bash 脚本, 保存并根据自己的喜好自定义, 使其可执行.
手动运行脚本:./automysqlbackup.sh.2.5
由于此脚本不支持将备份文件夹保存到远程位置, 因此可能需要安装远程空间或使用其他技术远程上传文件.
使用 mydumper 进行 MySQL 备份
Mydumper 是一个实用的软件程序, 可以保证快速可靠的多线程 MySQL 备份过程. 众所周知, Mydumper 可以很好地处理大型数据库, 提供并行性. 用户需要创建如下所示的备份, 然后将变量 ($) 替换实变量, 压缩文件夹并将其放在首选位置.
- Mydumper
- --database=$DB_NAME
- --host=$DB_HOST
- --user=$DB_PASS
- --rows=500000
- --compress
- --build-empty-files
- --compress-protocol
快速和自动备份
MySQL 自动备份与 ottomatik
Ottomatik 使用备用降落伞为您的 MySQL 数据库提供了极好的备份解决方案. Ottomatik 支持云或本地服务器, 通过安装脚本, 它会自动安装连接到 Linux 服务器的 SSH 密钥, 还可以为备份作业选择多个服务器.
使用 PHPMyAdmin 进行 MySQL 备份
PHPMyAdmin 是一个流行的应用程序, 用于管理 MySQL 数据库, 可以免费使用. 很多服务提供商都使用 PHPMyAdmin, 有可能你自己都安装了却不自知.
备份数据库所需要做的就是打开 PHPMyAdmin, 选择文件或文件夹, 然后单击 "导出" 链接, 另外, 也有 "另存为" 和 "压缩" 等在本地保存数据的选项.
使用文件系统快照进行 MySQL 备份
可以使用 Veritas,LVM 或 ZFS 等文件系统进行系统快照. 要使用文件系统快照, 从客户端程序执行具有读锁定的刷新表, 然后从另一个 shell 执行运行 mount vxfs snapshot. 从第一个客户端解锁表, 然后将文件从快照复制到目标文件夹, 稍后卸载快照.
通过复制表文件进行备份
通过将表文件复制为 *.MYD,*.MYI 文件来备份 MyISAM 表, 使用时需要停止服务器或锁定并刷新相关表:
FLUSH TABLES tbl_list WITH READ LOCK;
在数据库中复制文件时, 读锁允许其他客户机继续查询表, 而刷新则确保在备份过程之前将所有活动索引页写入磁盘.
无论完全备份还是增量备份, MySQL 数据库备份都是必不可少的, 而且随着数据库大小的增加, 您可能还需要更改备份策略.
来源: http://database.51cto.com/art/201810/584673.htm