8种手动和自动备份MySQL数据库的方法
作为流行的开源数据库管理系统,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数据库备份都是必不可少的,而且随着数据库大小的增加,您可能还需要更改备份策略。
总结
以上所述是小编给大家介绍的8种手动和自动备份mysql数据库的方法,希望对大家有所帮助
上一篇: Bash Shell字符串操作小结
下一篇: 详解关于MySQL 8.0走过的坑