如何使用mysql数据库进行备份数据恢复

如何使用mysql数据库进行备份数据恢复,第1张

恢复整个数据库首先,如果要恢复的数据库是含有授权表的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 命令产生更新日志文件的单列列表,更新日志文件根据服务器生成的顺序进行排序(要知道,如果您修改了其中的任何文件,排序的顺序都将改变,这将导致更新日志按错误的顺序使用)。您很可能必须使用某些更新日志。例如,如果自备份以来所产生的日志命名为update392、pdate393 等等,可以重新运行它们中的命令:% mysql--one-database db_name < updata392% mysql--one-database db_name < updata393…如果正在运行恢复并打算使用更新日志恢复由于失策的DROP DATA BASE、DROPTABLE或DELETE 语句而丢失的信息,应确保先从更新日志中删除这些语句。恢复单个的表恢复单个表是很困难的。如果有通过mysqldump 生成的备份文件并且它恰好不包含您想要的表数据,则需要抽取相关的行并用它们作为mysql的输入,这部分较容易。困难的是抽取应用于该表的更新日志的片段。您会发现: mysql_find_rows 实用程序对这方面有帮助,它可以从更新日志中抽取多行查询。另一种可能性是用另一个服务器恢复整个数据库,然后将所要的该表的文件拷贝到原始数据库中。这实际很容易!在将文件拷贝回数据库目录时,应确保原始数据库的服务器关闭。

前提是把MYSQL的安装路径\bin添加到系统环境变量PATH中了。

备份:mysqldump -u root -p123456 kcgl> c:\20090219sql

mysqldump 备份命令

root 用户名(root管理员)

123456 密码

kcgl 备份的数据库名;

> 备份符号

20090219sql 备份的文件名

还原:

mysql -u root -p123456 kcgl< c:\20090219sql

mysql 还原命令

root 用户名(root管理员)

123456 密码

dbcurr 备份的数据库名;

< 还原符号

20090219sql还原的文件名

注意:首先要确保你的mysql 中有kcgl这个库,还原命令是不会自动建库的。

mysqldump 远程备份

mysqldump -h ip -uroot -proot database > c:\datasql

---------其他---------

mysqldump备份:

mysqldump -u用户名 -p密码 -h主机 数据库 a -w "sql条件" --lock-all-tables > 路径

案例:

mysqldump -uroot -p1234 -hlocalhost db1 a -w "id in (select id from b)" --lock-all-tables > c:\aatxt

mysqldump还原:

mysqldump -u用户名 -p密码 -h主机 数据库 < 路径

案例:

mysql -uroot -p1234 db1 < c:\aatxt

mysqldump按条件导出:

mysqldump -u用户名 -p密码 -h主机 数据库 a --where "条件语句" --no-建表> 路径

mysqldump -uroot -p1234 dbname a --where "tag='88'" --no-create-info> c:\asql

mysqldump按导入:

mysqldump -u用户名 -p密码 -h主机 数据库 < 路径

案例:

mysql -uroot -p1234 db1 < c:\atxt

mysqldump导出表:

mysqldump -u用户名 -p密码 -h主机 数据库 表

案例:

mysqldump -uroot -p sqlhk9 a --no-data

-------------------------------------------------

mysqldump命令介绍

--all-databases, -A: 备份所有数据库

--databases, -B: 用于备份多个数据库,如果没有该选项,mysql dump 把第一个名字参数作为数据库名,后面的作为表名。使用该选项,mysql dum把每个名字都当作为数据库名。

--force, -f:即使发现sql错误,仍然继续备份

--host=host_name, -h host_name:备份主机名,默认为localhost

--no-data, -d:只导出表结构

--password[=password], -p[password]:密码

--port=port_num, -P port_num:制定TCP/IP连接时的端口号

--quick, -q:快速导出

--tables:覆盖 --databases or -B选项,后面所跟参数被视作表名

--user=user_name, -u user_name:用户名

--xml, -X:导出为xml文件

1备份全部数据库的数据和结构

mysql dump -uroot -p123456 -A >F:\allsql

2备份全部数据库的结构(加 -d 参数)

mysql dump -uroot -p123456 -A -d>F:\all_structsql

3备份全部数据库的数据(加 -t 参数)

mysql dump -uroot -p123456 -A -t>F:\all_datasql

4备份单个数据库的数据和结构(,数据库名mydb)

mysql dump -uroot -p123456 mydb>F:\mydbsql

5备份单个数据库的结构

mysql dump -uroot -p123456 mydb -d>F:\mydbsql

6备份单个数据库的数据

mysql dump -uroot -p123456 mydb -t>F:\mydbsql

7备份多个表的数据和结构(数据,结构的单独备份方法与上同)

mysql dump -uroot -p123456 mydb t1 t2 >f:\multablessql

8一次备份多个数据库

mysql dump -uroot -p123456 --databases db1 db2 >f:\muldbssql

还原部分分(1)mysql 命令行source方法 和 (2)系统命令行方法

1还原全部数据库:

(1) mysql 命令行:mysql >source f:\allsql

(2) 系统命令行: mysql -uroot -p123456 <f:\allsql

2还原单个数据库(需指定数据库)

(1) mysql >use mydb

mysql >source f:\mydbsql

(2) mysql -uroot -p123456 mydb <f:\mydbsql

3还原单个数据库的多个表(需指定数据库)

(1) mysql >use mydb

mysql >source f:\multablessql

(2) mysql -uroot -p123456 mydb <f:\multablessql

4还原多个数据库,(一个备份文件里有多个数据库的备份,此时不需要指定数据库)

(1) mysql 命令行:mysql >source f:\muldbssql

(2) 系统命令行: mysql -uroot -p123456 <f:\muldbssql

使用mysql中的日志功能。 首先:将最近的二进制类型的日志文件存成文本文件导出,命令如下:

mysqlbinlog F:/wamp/mysql-bin000045 > F:/testtxt

其次:打开保存的txt文件,文件格式如下:

其中at 1099代表第1099个命令(姑且这么记),查询这些命令,看看需要回复的命令在什么地方,然后执行命令。

最后:执行回复命令,如下:

mysqlbinlog --start-position="123" --stop-position="531" F:/wamp/mysql-bin000045 F:/testtxt | mysql -uroot -p

这样就可以完成数据库的回复了!!!

实验MySQL备份与恢复

一、实验内容:

1、 使用SQL语句导入和导出表数据

2、 使用客户端工具备份还原数据库

3、 使用日志文件恢复数据库

二、实验项目:学生成绩数据库

创建用于学生成绩管理数据库,数据库名为XSCJ中,XSCJ数据库中包括三个表:xs(学生基本情况表)、kc(课程信息表)、xs_cj(成绩表)。。

三、实验步骤:(要求使用语句完成)

1、 使用select into ……outfile导出xs表数据,导出文件名为xstxt,要求每行记录结束回车换行;

81e797c2c6b2bf39e8224ee671ce647epng

2、 使用create table like语句创建一个与xs表结构相同的表xs1,并使用load data将xstxt的数据完整的导入xs1表中,并查看xs1表;

ca530d320003432441251d6e51809ff6png

3、 使用select into ……outfile导出kc表数据,导出文件名为kc1txt,要求字段之间用逗号隔开,字符型字段值用双引号括起来,每行记录以“->”开头,每行结束回车换行;

da32788bbec152b932b960b76d9c008dpng

4、 使用create table like语句创建一个与kc表结构相同的表kc1,并使用load data将kc1txt的数据导入kc1表中,要求导入数据是忽略前面3条记录,只导入课程名、课程号、学分三列的数据;

ffd68720a4ed8428b61cd6d1d65bcd02png

5、 使用mysqldump备份xscj数据库中的xs表到文件xs2sql中;

9c7c64de9fa61ec43e5ac175e6945d7dpng

6、 使用mysqldump备份xscj数据库到文件xscj1sql中

0e5ace5913933fbf7c12a53f0bc99875png

7、 使用mysqldump备份xscj数据库和mysql数据库到文件twodatabasesql中;

380c089e0891b90861dacff3b50e7be8png

8、 使用mysqldump备份MySQL服务器中的所有数据库到文件allsql中;

a0b9d6cef91a0ad5c98985ff6b002a76png

9、 删除xs表,使用mysql命令将文件xs2sql中的数据恢复到xscj数据库中

fb9e600c30fd5809d45a84af98830ba5png

10、 删除xscj数据库中的所有表,使用mysql命令将文件xscj1sql中的数据恢复到xscj数据库中;

1d044046eb1957607aefe19f014f5c0cpng

11、 将xs表中的数据清空,使用mysqlimport命令将xstxt中的数据导入到xs表中。

9a000f99f8226008a6c1c8fc945f2a42png

四、实验报告要求

1、 实验报告格式要求

包括内容:标题、实验内容、实验步骤、实验中遇到的问题及解决方案

2、 实验报告内容要求

(1) 标题参看实验指导标题+“实验报告”,如“实验一 MySQL的安装与命令初步实验报告”;

(2) 实验内容与实验指导中相同;

(3) 实验步骤中将自己实验中的每个步骤的命令和 *** 作结果显示界面进行截图完善。

(4) 实验中遇到的问题及解决方案中如实地将自己的问题的解决过程记录出来。

3、 实验报告提交要求

每次实验课结束之后,每个人需要提交实验报告,实验报告命名为:学号姓名

MySQL 命令行备份

1,进入MySQL目录下的bin文件夹:cd MySQL中到bin文件夹的目录

(SHOW VARIABLES LIKE "%char%"; 查看数据库安装路径)

Linux下命令:

[root@linuxsir01 root]# mysqldump -u root -p oa_int > /home/oa_20160627sql

Windows下命令:

C:\Users\Administrator>mysqldump -u 密码 -p 数据库名 > d:/oa_int_20160708sql

MySQL 命令行恢复:

Linux下命令:

[root@linuxsir01 root]# mysql -u root -p oa_int1 < /home/oa_20160627sql

Enter password:在这里输入数据库的密码

Windows下命令:

C:\Users\Administrator> mysql -u root -p 数据库名(要先创建好数据库) < d:/oa_int_20160708sql

Mysql数据库备份和还原常用的命令是进行Mysql数据库备份和还原的关键,没有命令,什么都无从做起,更谈不上什么备份还原,只有给系统这个命令,让它去执行,才能完成Mysql数据库备份和还原的 *** 作,下面为大家分享一下 *** 作的常用的命令。

一、备份命令

1、备份MySQL数据库的命令

<!--

Code highlighting produced by Actipro CodeHighlighter (freeware)

>

1:官方百万级别的测试数据库:

官方测试数据库github网址:>

以上就是关于如何使用mysql数据库进行备份数据恢复全部的内容,包括:如何使用mysql数据库进行备份数据恢复、windows下Mysql 怎样备份和还原、mysql数据库被删除后怎么恢复等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/9489595.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-28
下一篇 2023-04-28

发表评论

登录后才能评论

评论列表(0条)

保存