首页 > 编程知识 正文

mysql数据库备份与恢复命令(mysql命令备份和恢复)

时间:2023-12-24 12:05:47 阅读:320937 作者:MFAU

本文目录一览:

MySQL的备份与还原,非常规备份,全量备份,增量备份

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

官方测试数据库github网址:

下载到目录,解压即可,运行命令:

2:自己创建简单测试数据库:

快速随机生成测试语言的网站:

选择sql和想生成的字段,点击生成Generate!生成即可。

在MySQL输入生成的语句即可。

3:测试备份还原时用到的命令

删库跑路测试(先备份好)

还原后查询库的表数据是否完整。

采用复制整个数据存放目录

1:查看数据库数据存放位置

有两种方法:

1):在数据库中用命令 show variables like 'datadir'; 查看

2):在配置文件中查看,配置了 datadir 目录的可查看。没有配置的默认为 /var/lib/mysql/ 位置

Linux中查看配置文件

2:复制目录或者目录下某个数据库名

3:还原时直接复制文件夹到数据库目录即可

mysqldump又可叫做全量备份。

参数 --databases 同 -B ,单独一个库,也可省略。

1、备份命令mysqldump格式

格式:mysqldump -h主机名 -P端口 -u用户名 -p密码 database 数据库名 文件名.sql

备份testDatabase数据库

2、备份MySQL数据库为带删除表的格式

备份MySQL数据库为带删除表的格式,能够让该备份覆盖已有数据库而不需要手动删除原有数据库。

3、直接将MySQL数据库压缩备份

备份并压缩

4、备份MySQL数据库某个(些)表

备份testDatabase中的myTable表,不需要用参数 --databases 或者 -B

5、同时备份多个MySQL数据库

同时备份testDatabase和 employees两个库

6、备份服务器上所有数据库

参数 --all-databases 同 -A

7、还原MySQL数据库的命令

1) 不指定数据名还原,默认生成原数据库名称,还原所有数据库。

2) 指定数据名还原,还原指定单个数据库,需在数据库种预先创建一个testDatabase名称。

3) 还原压缩的MySQL数据库

4) 进入数据库用source导入

增量备份是针对于数据库的bin-log日志进行备份的,增量备份是在全量的基础上进行操作的。增量备份主要是靠mysql记录的bin-log日志。

1:查看是否开启bin-log日志

进入mysql输入命令可查看。

显示如下为开启状态,日志文件在/var/lib/mysql/以binlog.00001的格式保存。

如未开启,需要在配置文件种配置

2:查看目前使用的bin-log日志文件

进入mysql查看命令。

显示如下,目前使用的是binlog.000022文件,所有操作都记录在此文件。

查看当前testDatabase的表myTable数据如下,

3:刷新日志,使用新的日志文件(备份)

在命令端执行命令

日志文件从 binlog.000022 变为 binlog.000023

这时相当与已经备份成功,备份文件即为上次的binlog.000022日志文件。

4:删除数量,从日志还原数据

1) 删除ABC行

查询以及没有ABC行列。

2) 恢复数据ABC行

退出mysql,在命令端用mysqlbinlog命令恢复到binlog.000022日志状态。

进入数据库再次查看数据,ABC已经恢复。

增量备份完成。

怎么备份和还原mysql数据库

备份数据库

使用mysqldump命令备份数据库

还原数据库

1、使用mysql命令还原数据库

将game_backup.sql 还原至 game 数据库:

2、使用source命令还原数据库

如果数据库过大,建议可以使用source命令

如何使用命令来备份和还原MySQL数据库

备份数据库

使用mysqldump命令备份数据库

复制代码代码如下:

# 如果要将game数据库进行备份:

mysqldump -u root -p game game_backup.sql

# 如果希望备份所有的数据库:

mysqldump -u root -p --all-databases all_backup.sql

还原数据库

1、使用mysql命令还原数据库

将game_backup.sql 还原至 game 数据库:

复制代码代码如下:

mysql -u root -p game game_backup.sql

2、使用source命令还原数据库

如果数据库过大,建议可以使用source命令

复制代码代码如下:

mysql source game_backup.sql

备份和恢复数据库的命令

MySQL 命令行备份

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

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

Linux下命令:

[root@linuxsir01 root]# mysqldump -u root -p oa_int /home/oa_20160627.sql

Windows下命令:

C:UsersAdministratormysqldump -u 密码 -p 数据库名 d:/oa_int_20160708.sql

MySQL 命令行恢复:

Linux下命令:

[root@linuxsir01 root]# mysql -u root -p oa_int1 /home/oa_20160627.sql

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

Windows下命令:

C:UsersAdministrator mysql -u root -p 数据库名(要先创建好数据库) d:/oa_int_20160708.sql

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

恢复整个数据库首先,如果要恢复的数据库是含有授权表的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 实用程序对这方面有帮助,它可以从更新日志中抽取多行查询。另一种可能性是用另一个服务器恢复整个数据库,然后将所要的该表的文件拷贝到原始数据库中。这实际很容易!在将文件拷贝回数据库目录时,应确保原始数据库的服务器关闭。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。