此外,吃一堑长一智,服务器数据十分珍贵,一旦丢失恢复起来十分艰难,因此建议要定期对服务器数据进行备份。安全狗云备份功能不错,可以去用用看。
请采纳。谢谢
服务器上的所有资料需定期进行集中备份,对于新增的课件等数据需每天进行备份,关键节点的数据资料需要进行实时备份,同时还需提供数据恢复功能,当意外情况发生时,可以短时间内将数据恢复,保证对业务不会造成影响。详细情况如下
对于网站主服务器,需要备份服务器上的数据资料保持和主服务器一模一样,当主服务器发生故障的时候,备份服务器可以及时接管主服务器的工作,从而达到业务不间断。当生产服务器恢复正常的时候,我们又需要把备份服务器上新增的数据同步到主服务器上,保证主服务器上是最新数据。
本地有大批量的课件、网站代码或者是其他资料需要同步到服务器,同步的同时需要复制文件的权限,同步过程中如果出现网络异常等问题可以在下次任务执行时自动执行上次未完成的任务而不会造成重复传输。
服务器上有新增或者更新的数据资料需要进行备份,这个备份需要以执行时间来保存更新的数据,同时能够方便恢复。
方法/步骤Navicat for MySQL 备份数据的 *** 作如下:
在 Navicat 界面的菜单栏中选择“备份”功能按钮。
步骤二 在导航栏中点击“新建备份”按钮。
步骤三 在d出的新建备份窗口中点击“开始”按钮,执行备份的命令。
备份完成后,在导航栏中就可以看到关于备份数据的信息。在备份时间上点击右键,选中“常规”命令,即可查看备份文件的存储位置、文件大小和创建时间。
Navicat for MySQL 数据还原的 *** 作如下:
在 Navicat 界面的菜单栏中选择“备份”功能按钮。
在导航栏中点击“还原备份”按钮,在d出的窗口点击“开始”按钮。
温馨提示:如果会出现警告提示的窗口,点击“确定”按钮即可。
数据还原完成之后,依然会给出友好的消息提示窗口,方便用户进行信息核对。
在数据库管理中,备份与还原相辅相成,作为一名优秀的程序员,要养成随时备份的良好习惯,这样才能时刻保证数据的安全。
关于 Navicat for MySQL:
Navicat for MySQL 是针对 MySQL 数据库管理和开发而制定的比较理想的管理工具,其直观可视化的图形界面方便用户平时的管理进程,同时兼具 MySQL 数据库的绝大部分功能,如表、视图、函数或过程、事件等。使用 Navicat for MySQL 管理工具主要可以帮助您完成以下任务:SQL创建工具或编辑器、数据模型工具、数据传输、导入或导出、数据或结构同步、报表等。一、 使用mysql相关命令进行简单的本地备份
1 mysqlldump命令
mysqldump 是采用SQL级别的备份机制,它将数据表导成 SQL 脚本文件,在不同的 MySQL 版本之间升级时相对比较合适,这也是最常用的备份方法。
使用 mysqldump进行备份非常简单,如果要备份数据库” db_backup ”,使用命令:
#mysqldump –u -p phpbb_db_backup > /usr/backups/mysql/db_backup2008-1-6sql
还可以使用gzip命令对备份文件进行压缩:
#mysqldump db_backup | gzip > /usr/backups/mysql/ db_backup2008-1-6sqlgz (备份后生成的sql不含建库语句!)
只备份一些频繁更新的数据库表:
## mysqldump sample_db articles comments links > /usr/backups/mysql/sample_dbart_comm_lin2008-1-6sql
上面的命令会备份articles, comments, 和links 三个表。
恢复数据使用命令:
#mysql –u -p db_backup </usr/backups/mysql/ db_backup2008-1-6sql
注意使用这个命令时必须保证数据库正在运行。
2 使用 SOURCE 语法
其实这不是标准的 SQL 语法,而是 mysql 客户端提供的功能,例如:
# SOURCE /tmp/db_namesql;
这里需要指定文件的绝对路径,并且必须是 mysqld 运行用户(例如 nobody)有权限读取的文件。
3 mysqlhotcopy备份
mysqlhotcopy 只能用于备份 MyISAM,并且只能运行在 linux 和Unix 和 NetWare 系统上。mysqlhotcopy 支持一次性拷贝多个数据库,同时还支持正则表达。以下是几个例子:
#mysqlhotcopy -h=localhost -u=goodcjh -p=goodcjh db_name /tmp
(把数据库目录 db_name 拷贝到 /tmp 下)
注意,想要使用 mysqlhotcopy,必须要有 SELECT、RELOAD(要执行 FLUSH TABLES) 权限,并且还必须要能够有读取 datadir/db_name 目录的权限。
还原数据库方法:
mysqlhotcopy 备份出来的是整个数据库目录,使用时可以直接拷贝到 mysqld 指定的 目录 (在这里是 /usr/local/mysql/data/)目录下即可,同时要注意权限的问题,另外首先应当删除数据库旧副本如下例:
# /bin/rm -rf /mysql-backup///old
关闭mysql 服务器、复制文件、查询启动mysql服务器的三个步骤:
# /etc/initd/mysqld stop
Stopping MySQL: [ OK ]
# cp -af /mysql-backup/// /var/lib/mysql /
# /etc/initd/mysqld start
Starting MySQL: [ OK ]
#chown -R nobody:nobody /usr/local/mysql/data/ (将 db_name 目录的属主改成 mysqld 运行用户)
二、使用网络备份
将MYSQL数据放在一台计算机上是不安全的,所以应当把数据备份到局域网中其他Linux计算机中。假设Mysql服务器IP地址是:19216813。局域网使用Linux的远程计算机IP地址是19216814;类似于windows的网络共享,UNIX(Linux)系统也有自己的网络共享,那就是NFS(网络文件系统),在linux客户端挂接(mount)NFS磁盘共享之前,必须先配置好NFS服务端。linux系统NFS服务端配置方法如下:
(1)修改 /etc/exports,增加共享目录
/export/home/sunky 19216814(rw)
/export/home/sunky1 (rw)
/export/home/sunky2 linux-client(rw)
注:/export/home/目录下的sunky、sunky1、sunky2是准备共享的目录,1014013323、、linux-client是被允许挂接此共享linux客户机的IP地址或主机名。如果要使用主机名linux-client必须在服务端主机/etc/hosts文件里增加linux-client主机ip定义。格式如下:
19216814 linux-client
若修改/etc/export文件增加新的共享,应先停止NFS服务,再启动NFS服务方能使新增加的共享起作用。使用命令exportfs -rv也可以达到同样的效果。linux客户端挂接(mount)其他linux系统或UNIX系统的NFS共享。这里我们假设19216814是NFS服务端的主机IP地址,当然这里也可以使用主机名,但必须在本机/etc/hosts文件里增加服务端ip定义。/export/home/sunky为服务端共享的目录。如此就可以在linux客户端通过/mnt/nfs来访问其它linux系统或UNIX系统以NFS方式共享出来的文件了。
把MYSQL数据备份到使用Linux的远程计算机需要在两端都安装NFS协议(Network File System),远程NFS计算机安装NFS协议后还要修改配置文件:/etc/exports,加入一行:
/usr/backups/mysql/ 19216814 (rw, no_root_squash)
表示将/usr/backups/mysql/目录共享。这个目录具有远程root用户读写权限。保存NFS配置文件,然后使用命令:
#exportfs -a –r
然后重新启动NFS服务:
#service nfsd start
远程计算机设定后,在MYSQL服务器/mnt 目录下建立一个backup_share目录:
#mkdir /mnt/backup_share
将远程的Linux计算机的/usr/backups/mysql/目录挂载到MYSQL服务器的/mnt/backup_share目录下:
# mount -t nfs 19216814:/usr/backups/mysql /mnt/backup_share
将目录挂载进来后,只要进入/mnt/backup_share 目录,就等于到了IP地址:19216814那部NFS 计算机的/usr/backups/mysql 目录中。下面使用mysqldump把“phpbb_db_backup”备份到远程计算机:
# mysqldump db_backup > /mnt/backup_share/ db_backup2008-1-6sql
自动完成网络备份的方法:
Linux 服务器上的程序每天都在更新 MySQL 数据库,于是就想起写一个 shell 脚本,结合 crontab,定时备份数据库。建立一个shell脚本:sample_db_backupsh
# At the very end the $(date +%F) 自动添加备份日期
mysqldump -u <username> -p <password> -h <hostname> sample_db > /mnt/backup_share/sample_db$(date +%F)
#un-mount the filesystem
umount /mnt/backup_share
# mount \u2013o soft 19216814:/archive /mnt/backup_share
说明:mount NFS服务器的一个重要参数:hard (硬) mount或soft(软)mount。
硬挂载: NFS客户机会不断的尝试与NFS服务器的连接(在后台,一般不会给出任何提示信息),直到挂载上为止。
软挂载:会在前台尝试与NFS服务器的连接,是默认的连接方式。当收到错误信息后终止mount尝试,并给出相关信息。
对于到底是使用硬挂载还是软挂载的问题,这主要取决于你访问什么信息有关。例如你是想察看NFS服务器的视频文件时,你绝对不会希望由于一些意外的情况(如网络速度一下子变的很慢)而使系统输出大量的错误信息,如果此时你用的是硬挂载方式的话,系统就会等待,直到能够重新与NFS 服务器建立连接传输信息。另外如果是非关键数据的话也可以使用软挂载方式,如FTP一些数据等,这样在远程机器暂时连接不上或关闭时就不会挂起你的会话过程。
下面建立脚本文件权限:chmod +x /sample_db_backupsh
然后使用将此脚本加到 /etc/crontab 定时任务中:
01 5 0 mysql /home/mysql/ sample_db_backupsh
好了,每周日凌晨 5:01 系统就会自动运行 sample_db_backupsh 文件通过网络备份 MySQL 数据库了。
三、实时恢复M y S Q L数据方法
在对MySQL数据和表格结构进行备份时,mysqldump是一个非常有用的工具。然而,通常情况下,一般一天只备份一次,或者在一个特定的间隔备份一次。如果在刚备份完成的一段时间以内数据丢失,那么这些数据很有可能无法恢复。有什么方法可以对数据进行实时性地保护呢事实上,现在有几种方法都可以实现MySQL数据库的实时保护。这里介绍其中一种,即使用二进制日志进行数据恢复。
1 设置二进制日志方法
要想从二进制日志恢复数据,你需要知道当前二进制日志文件的路径和文件名。一般可以从选项文件(即mycnf or myini,取决于你的系统)中找到路径。如果未包含在选项文件中,当服务器启动时,可以在命令行中以选项的形式给出。启用二进制日志的选项为-- log-bin。要想确定当前的二进制日志文件的文件名,输入下面的MySQL语句:
# SHOW BINLOG EVENTS \G
2 最简单的数据恢复
每天备份和运行二进制日志的确是一个在MySQL服务器中恢复数据的不错方法。比如,可以每天在深夜使用mysqldump对数据进行备份,如果某天在数据备份完成后的一段时间里,由于某种原因数据丢失,可以使用以下方法来对其进行恢复。首先,停止MySQL服务器,然后使用以下命令重新启动MySQL服务器。该命令将保证是惟一可以访问该数据库服务器的人:
# /etc/initd/mysqld stop
Stopping MySQL: [ OK ]
# mysqld --socket=/tmp/mysql_restoresock --skip-networking
这里, 一socket选项将为U n i x 系统命名一个不同的Socket文件。一旦服务器处于独占控制之下,就可以放心地对数据库进行 *** 作,而不用担心在进行数据恢复的过程中有用户尝试访问数据库而导致更多的麻烦。进行恢复的第一个步骤是恢复晚上备份好的dump文件:
#mysql -u root -pmypwd --socket=/tmp/mysql_restoresock < /var/backup/20080120sql
该命令可以将数据库的内容恢复至晚上刚刚完成备份的内容。要恢复dump文件创建后的数据库事务处理, 可以使用mysqlbinlog工具。如果每天晚上进行备份 *** 作时都对日志进行flush *** 作,则可以使用以下命令行工具将整个二进制日志文件进行恢复:
mysqlbinlog /var/log/mysql/bin123456 \
| mysql -u root -pmypwd --socket=/tmp/mysql_restoresock
3 针对某一时问点的恢复
对于MySQL 414,可以在mysqlbinlog语句中通过--start-date和--stop-date选项指定DATETIME格式的起止时间。假设用户在2008-1-22上午10点执行的SQL语句删除了一个大的数据表,则可以使用以下命令进行恢复:要想恢复表和数据,你可以恢复前晚上的备份,并输入:
#mysqlbinlog --stop-date="2008-1-22 9:59:59"
/var/log/mysql/bin123456 |
mysql -u root -pmypwd \
--socket=/tmp/mysql_restoresock
#mysql -u root -pmypwd
该语句将恢复所有给定一stop-date日期之前的数据。如果在执行某SQL语句数小时之后才发现执行了错误 *** 作,那么可能还需要恢复之后输入的一些数据。这时, 也可以通过mysqlbinlog来完成该功能:
#mysqlbinlog --start-date="2008-1-22 10:01:00" \
/var/log/mysql/bin123456 \
| mysql -u root -pmypwd \
--socket=/tmp/mysql_restoresock
#mysql -u root -pmypwd
在该行中,从上午10:01登录的SQL语句将运行。组合执行前夜的转储文件和mysqlbinlog的两行可以将所有数据恢复到上午10:00前一秒钟。你应检查日志以确保时间确切。
4 使用Position进行恢复
也可以不指定日期和时间,而使用mysqlbinlog的选项--start-position和--stop-position来指定日志位置。它们的作用与起止日选项相同,不同的是给出了从日志起的位置号。使用日志位置是更准确的恢复方法,特别是当由于破坏性SQL语句同时发生许多事务的时候。要想确定位置号,可以运行mysqlbinlog寻找执行了不期望的事务的时间范围,但应将结果重新指向文本文件以便进行检查。 *** 作命令为:
mysqlbinlog --start-date="2005-04-20 9:55:00" --stop-date="2005-04-20 10:05:00"
/var/log/mysql/bin123456 > /tmp/mysql_restoresql
该命令将在/tmp目录创建小的文本文件,将显示执行了错误的SQL语句时的SQL语句。你可以用vi或者gedit文本编辑器打开该文件,寻找你不要想重复的语句。如果二进制日志中的位置号用于停止和继续恢复 *** 作,应进行注释。用log_pos加一个数字来标记位置。使用位置号恢复了以前的备份文件后,你应从命令行输入下面内容:
mysqlbinlog --stop-position="368312" /var/log/mysql/bin123456
| mysql -u root -pmypwd
mysqlbinlog --start-position="368315" /var/log/mysql/bin123456
| mysql -u root -pmypwd
上面的第1行将恢复到停止位置为止的所有事务。下一行将恢复从给定的起始位置直到二进制日志结束的所有事务。因为mysqlbinlog的输出包括每个SQL语句记录之前的SET TIMESTAMP语句,恢复的数据和相关MySQL日志将反应事务执行的原时间。正确掌握服务器备份方式方法,有助于企业等类型网站免受噩梦侵扰——数据丢失和损坏。
大部分数据丢失的原因是有硬件故障、软件错误、认为 *** 作失误和自然灾害等现象造成的,而最有效直接避免这些灾难影响企业网站的方法就是备份数据。
掌握正确的服务器备份方法,可以最大限度地减少存储空间,减少对计算资源和带宽使用的影响,从而确保数据安全,并在灾难发生后,尽可能快速、轻松地恢复数据。现在一起跟着壹基比小喻(企鹅名字)看下正确的服务器数据备份方法有哪些
1、完全备份
完整备份是最简单的备份形式,包含所有需要备份的文件夹和文件。我们通常会压缩文件以节省空间,但即使压缩完全备份也可能占用大量存储空间。备份磁盘的大量访问也需要额外的带宽。
完全备份的优点是易于恢复。由于可以随时获得完整的数据,因此数据恢复快速简便。理想的做法是始终进行完整备份,因为它们是最全面的,并且是独立的。但是,这样做往往耗费时间。
除了主要更新(例如 *** 作系统升级或新软件安装)之外,通常每周执行完整备份。在间隔中执行增量备份或差异备份。
2、增量备份
由于完全备份非常耗时,因此我们可能更需要增量备份,以减少执行备份所需的时间。增量备份仅备份自上次备份以来已更改的数据。例如,假设在星期一进行了完整备份,则可以在星期二执行增量备份以备份自星期一以来已更改的文件。周三,对备份自周二以来发生变化的文件执行了另一次增量备份。由于每次迭代备份的数据量要小得多,因此可以节省存储空间并减少网络带宽。它还允许保留相同文件的多个版本。
但是,增量备份使用更多计算能力,因为必须将每个源文件与上一个完整备份和每个后续增量备份进行比较,以确定数据是新的还是已更改。而且,恢复过程较慢。您首先需要还原最新的完整备份以及每个后续增量备份。如果其中一个备份失败(完整备份或增量备份),则恢复将不完整。服务器备份进行方法
服务器备份是指针对于服务器所产生的数据信息进行相应的存储备份过程,从而保障数据的安全运行,从狭义上来看信息的价值在于其潜在用途,并会随着时间的推移而改变。数据管理和保护可攫取信息的最大价值,并规避因未按照监管法规保留信息而导致的风险。企业应对当前和将来的信息使用方式进行评估,实施满足其全部需求的流程和技术。
1、完全备份。
每天对自己的系统进行完全备份。当发生数据丢失的灾难时,只要用一盘磁带(即灾难发生前一天的备份磁带),就可以恢复丢失的数据。然而它亦有不足之处,首先,由于每天都对整个系统进行完全备份,造成备份的数据大量重复。这些重复的数据占用了大量的磁带空间,这对用户来说就意味着增加成本。其次,由于需要备份的数据量较大,因此备份所需的时间也就较长。对于那些业务繁忙、备份时间有限的单位来说,选择这种备份策略是不明智的。
2、增量备份。
星期天进行一次完全备份,然后在接下来的六天里只对当天新的或被修改过的数据进行备份。这种备份策略的优点是节省了磁带空间,缩短了备份时间。但它的缺点在于,当灾难发生时,数据的恢复比较麻烦。例如,系统在星期三的早晨发生故障,丢失了大量的数据,那么现在就要将系统恢复到星期二晚上时的状态。这时系统管理员就要首先找出星期天的那盘完全备份磁带进行系统恢复,然后再找出星期一的磁带来恢复星期一的数据,然后找出星期二的磁带来恢复星期二的数据。很明显,这种方式很繁琐。另外,这种备份的可靠性也很差。在这种备份方式下,各盘磁带间的关系就象链子一样,一环套一环,其中任何一盘磁带出了问题都会导致整条链子脱节。比如在上例中,若星期二的磁带出了故障,那么管理员最多只能将系统恢复到星期一晚上时的状态。
3、差分备份。
管理员先在星期天进行一次系统完全备份,然后在接下来的几天里,管理员再将当天所有与星期天不同的数据(新的或修改过的)备份到磁带上。差分备份策略在避免了以上两种策略的缺陷的同时,又具有了它们的所有优点。首先,它无需每天都对系统做完全备份,因此备份所需时间短,并节省了磁带空间,其次,它的灾难恢复也很方便。系统管理员只需两盘磁带,即星期一磁带与灾难发生前一天的磁带,就可以将系统恢复。在实际应用中,备份策略通常是以上三种的结合。例如每周一至周六进行一次增量备份或差分备份,每周日进行全备份,每月底进行一次全备份,每年底进行一次全备份。适当的服务器备份方法可以最大限度地减少备份数据占用的存储空间,减少对计算资源和网络带宽使用的影响,从而保证数据安全,并在灾难发生后尽可能快速轻松地恢复数据。。以下是一些服务器备份方法,以及一些可 *** 作的正确服务器备份建议。
1完全备份完整备份是最简单的备份形式,包含所有需要备份的文件夹和文件。。我们通常会压缩文件大小以节省空间,但即使压缩文件大小,完整备份也会占用大量存储空间。。对备份磁盘的大量访问还需要额外的网络带宽资源。完整备份的优点是易于恢复。。数据恢复更快更容易,因为完整的数据随时可用。。完整备份是所有备份方法中最全面的。。然而,这样的 *** 作往往需要很多时间。
2增量备份由于“完整备份”需要很长时间,我们可能需要“增量备份”来减少执行备份所需的时间。增量备份,仅备份自上次备份以来更改的数据。。例如:假设在星期一进行了完整备份,则可以在星期二执行增量备份以备份自星期一以来已更改的文件。。在星期三,对自星期二以来已更改的文件执行另一次增量备份。。由于每次增量备份的数据量都比较小,可以节省存储空间,减少网络带宽。。它还允许保留同一文件的多个版本。
3差异备份差异备份,介于“完全备份”和“增量备份”之间。。差异备份是在完整备份和差异备份之间添加或修改的文件的备份。差异备份本质上是自上次完整备份以来所做的所有更改的累积备份。。恢复“差异备份”比恢复“增量备份”更快,并且只需要最后一次完整备份和最后一次差异备份即可创建完整恢复。。如果要节省存储空间,可以设置差异备份覆盖上次的差异备份。。与增量备份一样,差异备份需要额外的网络带宽来比较当前文件和备份文件,以便仅查找和备份更改的文件。
4镜像备份基于映像的备份允许创建整个系统(一个或多个分区)的完整磁盘备份。 *** 作系统、应用程序以及与之关联的所有数据,而不仅仅是文件和文件夹。。备份保存为称为“图像”的文件。当您需要恢复整个系统时,镜像备份是最快的恢复选项。。它在灾难恢复方面非常有效。。可以选择将整个服务器恢复到与新服务器完全相同的状态,即使服务器具有不同的硬件。。还可以从基于映像的备份中恢复单个文件,而无需恢复整个系统。。备份图像可以保存到各种不同的媒体,为您提供额外的备份副本。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)