十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
备份方案一: 通过 mysqldump命令,直接生成一个完整的 .sql 文件
创新互联公司专注于柳南网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供柳南营销型网站建设,柳南网站制作、柳南网页设计、柳南网站官网定制、微信小程序定制开发服务,打造柳南网络公司原创品牌,更为您提供柳南网站排名全网营销落地服务。
Step 1: 创建一个批处理
(说明:root 是mysql默认用户名, aaaaaa 是mysql密码, bugtracker 是数据库名)
------------mySql_backup.bat--------------------------------------------------------------------------------------
d:
cd D:/AppServ/MySQL/bin
mysqldump -uroot -paaaaaa bugtracker E:/DataBase/Mysql_bugtracker_backup/bugtracker_back.sql
exit
Step 2: 创建一个计划任务
"Start" -- "Control Panel" -- "Administrative Tools" -- "Task Scheduler"
"Create A Basic Task" -- --- "Daily" (注意设置后面的 时 分 秒) -- ---- "Start a Program" -- "Browser" (定位选择到你刚才创建的批处理mySql_backup.bat) -- --- "Finish"
对应的还原方法
创建一个处理:
----------mySql_restore.bat-------
d:
cd D:/AppServ/MySQL/bin
mysql -uroot -paaaaaa bugtracker E:/DataBase/Mysql_bugtracker_backup/bugtracker_back.sql
exit
双击它即可自动执行还原
备份方案二: 通过 xcopy 命令,直接把Mysql 的 data 目录下的对应的数据库全部的文件全部 copy 出来
创建批处理:
xcopy D:/AppServ/MySQL/data/bugtracker E:/DataBase/Mysql_bugtracker_backup/bugtracker/ /e /h /d /y /r /v /f /k
exit
对应的还原方法
把 E:/DataBase/Mysql_bugtracker_backup 目录下的 bugtracker文件夹 直接 copy 到 D:/AppServ/MySQL/data 目录下,把这个目录的bugtracker文件夹 全部履盖掉
备份方案三:安装Navicat For MySql 工具,通过它的 Schedule 功能设置自动备份
Schedule -- New Batch Job
在新弹出的页面中 选择你的 DB (eg: bugtracker ),然后在右边面板(Available Jobs)中你会看到“Backup bugtracker”,双击它,它会出现在下边面板---
对应的还原方法:
找到上述目录下对应的最新的 .psc 文件,然后通过Navicat For Mysql 工具还原
MySQL数据库备份与还原
备份和恢复数据
生成SQL脚本
在控制台使用mysqldump命令可以用来生成指定数据库的脚本文本,但要注意,脚本文本中只包含数据库的内容,而不会存在创建数据库的语句!所以在恢复数据时,还需要自已手动创建一个数据库之后再去恢复数据。
mysqldump –u用户名 –p密码 数据库名生成的脚本文件路径
现在可以在C盘下找到mydb1.sql文件了!
注意,mysqldump命令是在Windows控制台下执行,无需登录mysql!!!
执行SQL脚本
执行SQL脚本需要登录mysql,然后进入指定数据库,才可以执行SQL脚本!!!
执行SQL脚本不只是用来恢复数据库,也可以在平时编写SQL脚本,然后使用执行SQL 脚本来操作数据库!大家都知道,在黑屏下编写SQL语句时,就算发现了错误,可能也不能修改了。所以我建议大家使用脚本文件来编写SQL代码,然后执行之!
SOURCE C:\mydb1.sql
注意,在执行脚本时需要先行核查当前数据库中的表是否与脚本文件中的语句有冲突!例如在脚本文件中存在create table a的语句,而当前数据库中已经存在了a表,那么就会出错!
还可以通过下面的方式来执行脚本文件:
mysql -uroot -p123 mydb1c:\mydb1.sql
mysql –u用户名 –p密码 数据库要执行脚本文件路径
这种方式无需登录mysql!
使用MYSQL数据库的朋友,对MySQL进行备份和还原是比较重要的。重要的事简单做,今天介绍我们使用mysqldump和source命令来备份还原,分为Windows下和Linux下的MYSQL备份与还原操作。
一、Win32系统下MySQL的备份还原方法
备份:在“运行”中输入“cmd
”,利用“cd
/Program
Files/MySQL/MySQL
Server
5.0/bin”进入bin文件夹,输入“mysqldump
-u
用户名
-p
databasename
exportfilename”导出数据库到文件,如mysqldump
-u
root
-p
voicevoice.sql,然后输入密码即可开始导出MYSQL数据,实现备份操作。
还原:进入MySQL
Command
Line
Client,输入密码,进入到“mysql”,输入命令"show
databases;",回车,看看有些什么数据库;建立你要还原的数据库,输入"create
database
voice;",回车;切换到刚建立的数据库,输入"use
voice;",回车;导入数据,输入"source
voice.sql;",回车,开始导入,再次出现"mysql"并且没有提示错误即还原成功。
二、Linux下MySQL的备份与还原方法:
备份:[root@localhost
~]#
cd
/var/lib/mysql
(进入到MySQL库目录,根据自己的MySQL的安装情况调整目录)
[root@localhost
mysql]#
mysqldump
-u
root
-p
voicevoice.sql,输入密码即可。
还原:有两种方法可选:
第一种方法:[root@localhost
~]#
mysql
-u
root
-p
回车,输入密码,进入MySQL的控制台"mysql",同1.2还原。
第二种方法:
[root@localhost
~]#
cd
/var/lib/mysql
(进入到MySQL库目录,根据自己的MySQL的安装情况调整目录)
[root@localhost
mysql]#
mysql
-u
root
-p
voice
恢复整个数据库首先,如果要恢复的数据库是含有授权表的mysql数据库,将需要使用--skip-grant-tables选项运行服务器。否则,服务器将抱怨无法找到授权表。在恢复表之后,执行mysqladmin flush-privileges 来告诉服务器加载授权表,并用它们启动。将原数据库目录的内容拷贝到其他的地方。例如,您可能会在稍后用它们进行崩溃表的事后分析检查(post-mortem examination)。用最新的备份文件重新加载数据库。如果您打算使用由mysqldump 加载的文件,则需要将它们作为mysql的输入。如果打算使用从数据库中直接拷贝的文件(如,用tar 或c p),则将它们直接拷贝回到该数据库目录中。但是,在这种情况下,应该在拷贝这些文件之前关闭服务器,然后再重新启动它。用更新日志重做在进行备份后又修改了数据库表的查询。对于所有可用的更新日志,可使用它作为mysql的输入。指定--one-database 选项,使mysql只对想要恢复的数据库执行查询。如果您知道需要使用所有的更新日志文件,可在包含日志的目录中使用下列命令:% ls-t-r-l update.(0-9)* | xargs cat | mysql--one-database db_namels 命令产生更新日志文件的单列列表,更新日志文件根据服务器生成的顺序进行排序(要知道,如果您修改了其中的任何文件,排序的顺序都将改变,这将导致更新日志按错误的顺序使用)。您很可能必须使用某些更新日志。例如,如果自备份以来所产生的日志命名为update.392、pdate.393 等等,可以重新运行它们中的命令:% mysql--one-database db_name updata.392% mysql--one-database db_name updata.393…如果正在运行恢复并打算使用更新日志恢复由于失策的DROP DATA BASE、DROPTABLE或DELETE 语句而丢失的信息,应确保先从更新日志中删除这些语句。恢复单个的表恢复单个表是很困难的。如果有通过mysqldump 生成的备份文件并且它恰好不包含您想要的表数据,则需要抽取相关的行并用它们作为mysql的输入,这部分较容易。困难的是抽取应用于该表的更新日志的片段。您会发现: mysql_find_rows 实用程序对这方面有帮助,它可以从更新日志中抽取多行查询。另一种可能性是用另一个服务器恢复整个数据库,然后将所要的该表的文件拷贝到原始数据库中。这实际很容易!在将文件拷贝回数据库目录时,应确保原始数据库的服务器关闭。