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怎么导出数据库给别人
使⽤⽂件系统快照进⾏MySQL备份
可以使⽤Veritas,LVM或ZFS等⽂件系统进⾏系统快照。要使⽤⽂件系统快照,从客户端程序执⾏具有读锁定的刷新表,然后从另⼀个shell执⾏运⾏mount vxfs snapshot。从第⼀个客户端解锁表,然后将⽂件从快照复制到⽬标⽂件夹,稍后卸载快照。
通过复制表⽂件进⾏备份
通过将表⽂件复制为*.MYD,*.MYI⽂件来备份MyISAM表,使⽤时需要停⽌服务器或锁定并刷新相关表:
FLUSH TABLES tbl_list WITH READ LOCK;
在数据库中复制⽂件时,读锁允许其他客户机继续查询表,⽽刷新则确保在备份过程之前将所有活动索引页写⼊磁盘。
⽆论完全备份还是增量备份,MySQL数据库备份都是必不可少的,⽽且随着数据库⼤⼩的增加,您可能还需要更改备份策略。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。