当前位置:首页 » 操作系统 » mysql还原数据库

mysql还原数据库

发布时间: 2022-11-26 03:30:50

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

恢复整个数据库

首先,如果要恢复的数据库是含有授权表的mysql数据库,将需要使用--skip-grant-tables选项运行服务器。否则,服务器将抱怨无法找到授权表。在恢复表之后,执行mysqladmin flush-privileges 来告诉服务器加载授权表,并用它们启动。

将原数据库目录的内容拷贝到其他的地方。例如,您可能会在稍后用它们进行崩溃表的事后分析检查(post-mortem examination)。

用最新的备份文件重新加载数据库。如果您打算使用由mysqlmp 加载的文件,则需要将它们作为mysql的输入。如果打算使用从数据库中直接拷贝的文件(如,用tar 或c p),则将它们直接拷贝回到该数据库目录中。但是,在这种情况下,应该在拷贝这些文件之前关闭服务器,然后再重新启动它。

用更新日志重做在进行备份后又修改了数据库表的查询。对于所有可用的更新日志,可使用它作为mysql的输入。指定--one-database 选项,使mysql只对想要恢复的数据库执行查询。如果您知道需要使用所有的更新日志文件,可在包含日志的目录中使用下列命令:

% ls-t-r-l update.(0-9)* | xargs cat | mysql--one-database db_name

ls 命令产生更新日志文件的单列列表,更新日志文件根据服务器生成的顺序进行排序(要知道,如果您修改了其中的任何文件,排序的顺序都将改变,这将导致更新日志按错误的顺序使用)。

您很可能必须使用某些更新日志。例如,如果自备份以来所产生的日志命名为update.392、pdate.393 等等,可以重新运行它们中的命令:

% mysql--one-database db_name < updata.392
% mysql--one-database db_name < updata.393


如果正在运行恢复并打算使用更新日志恢复由于失策的DROP DATA BASE、DROPTABLE或DELETE 语句而丢失的信息,应确保先从更新日志中删除这些语句。

恢复单个的表

恢复单个表是很困难的。如果有通过mysqlmp 生成的备份文件并且它恰好不包含您想要的表数据,则需要抽取相关的行并用它们作为mysql的输入,这部分较容易。困难的是抽取应用于该表的更新日志的片段。您会发现: mysql_find_rows 实用程序对这方面有帮助,它可以从更新日志中抽取多行查询。

另一种可能性是用另一个服务器恢复整个数据库,然后将所要的该表的文件拷贝到原始数据库中。这实际很容易!在将文件拷贝回数据库目录时,应确保原始数据库的服务器关闭。

⑵ 怎么还原,恢复或导入MySQL数据库

1、按WIN+R组合键,在运行框中输入:CMD,点击确定,进入CMD窗口。
2、在命令行下输入:mysql -uroot -p ,回车后输入输入root的密码即可登录mysql命令行。
3、先创建一个空的数据库:create database backup(create database 数据库名称)。
4、还原的数据库:use backup(use 数据库名称)。
5、或导入数据库:source backup.sql(source 数据库脚本文件)。
6、还原或导入完后 查看数据库表可以看到已导入成功。

⑶ 怎么备份和还原mysql数据库

备份数据库

使用mysqlmp命令备份数据库

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

备份数据库
使用mysqlmp命令备份数据库

复制代码代码如下:

# 如果要将game数据库进行备份:
mysqlmp -u root -p game > game_backup.sql

# 如果希望备份所有的数据库:
mysqlmp -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数据库备份和还原

MySQL有一种非常简单的备份方法,先将服务器停止,然后将MySQL中的数据库文件直接复制出来。这是最简单,速度最快的方法。
*将服务器停止,这样才可以保证在复制期间数据库的数据不会发生变化。如果在复制数据库的过程中还有数据写入,就会造成数据不一致。
恢复也一样,先将服务器停止,然后将备份的数据库覆盖同名的数据库即可。

⑹ mysql还原数据库

简单情况下:进入原来mysql安装路径下的data文件夹下,找到相应的库和ibdata1,进行,就可回复原来的数据。
复杂情况下:
从另一台机上把MySQL数据库的mysql文件夹拷贝到本地机上,目的是恢复本地机对数据的访问和操作。经过如下几种情况的操作。
1. 在本地重装MySQL(安装目录D:\Program Files\MySQL\MySQL Server 5.0),直接把mysql文件夹拷贝至D:\Program Files\MySQL\MySQL Server 5.0\。结果,失败:数据库连接错误。
2. 卸载后重装MySQL,将D:\Program Files\MySQL\MySQL Server 5.0\下的数据备份,只把mysql\data文件夹全部内容拷贝到D:\Program Files\MySQL\MySQL Server 5.0\data下。结果,失败:数据库连接错误。将备份的数据还完覆盖。结果,失败,还是连接不上数据库。
3. 卸载后重装MySQL,将mysql\data文件夹里的cf1,last文件夹(这两个是原来MySQL里的数据库)拷贝进D:\Program Files\MySQL\MySQL Server 5.0\data。连接成功,在Navicat for MySQL里看到数据库cf1和last,但是不能访问,因为数据全为零。明白了原来data里以数据库命名的文件存储的是数据库的表结构,不是元数据。下一步,把data文件夹里的ibdata1文件(3.4G大,明显存储了元数据)拷贝到D:\Program Files\MySQL\MySQL Server 5.0\data里,代替原来的ibdata1文件。重启电脑,打开Navicat for MySQL,连接成功,数据可以访问操作。
至此,操作终于成功。其实当初在那台机上把数据导出来,而不是现在直接把文件夹mysql复制过来会更容易恢复。但那台机已经重装了系统,也就是说MySQL失效了。

⑺ mysql数据库备份和还原

MySQL数据库备份与还原
备份和恢复数据
生成SQL脚本
在控制台使用mysqlmp命令可以用来生成指定数据库的脚本文本,但要注意,脚本文本中只包含数据库的内容,而不会存在创建数据库的语句!所以在恢复数据时,还需要自已手动创建一个数据库之后再去恢复数据。
mysqlmp –u用户名 –p密码 数据库名>生成的脚本文件路径
现在可以在C盘下找到mydb1.sql文件了!
注意,mysqlmp命令是在Windows控制台下执行,无需登录mysql!!!
执行SQL脚本
执行SQL脚本需要登录mysql,然后进入指定数据库,才可以执行SQL脚本!!!
执行SQL脚本不只是用来恢复数据库,也可以在平时编写SQL脚本,然后使用执行SQL 脚本来操作数据库!大家都知道,在黑屏下编写SQL语句时,就算发现了错误,可能也不能修改了。所以我建议大家使用脚本文件来编写SQL代码,然后执行之!
SOURCE C:\mydb1.sql
注意,在执行脚本时需要先行核查当前数据库中的表是否与脚本文件中的语句有冲突!例如在脚本文件中存在create table a的语句,而当前数据库中已经存在了a表,那么就会出错!
还可以通过下面的方式来执行脚本文件:
mysql -uroot -p123 mydb1<c:\mydb1.sql
mysql –u用户名 –p密码 数据库<要执行脚本文件路径

这种方式无需登录mysql!

⑻ mysql删除被的数据库怎么还原

1 找个别的机百器安装个同版本的mysql或从已安装同版本的其他机器上(非同版本的度也可以试下):

拷贝 mysql/data/mysql 目录到你的mysql/data/ 下吧

2 试着启动mysql服务,如果能启动了,理论上应该丢失的只有用户、授权等一些知系统信息,不影响你的使用的数据;

如果不能启动,看错误日志,争取启动了。

3 赶紧把数据备份道一份出来,重内新把所有库(只是你后来创建的业务相关的库,不包括mysql库)都删了,重新导入一遍。理论上不这样也可以,但只是非容生产重要的环境下。

4 重新做用户授权。

以上步骤参考一下,试一下

⑼ mysql怎么通过备份还原数据库文件

一、数据备份
1、使用mysqlmp命令备份
mysqlmp命令将数据库中的数据备份成一个文本文件。表的结构和表中的数据将存储在生成的文本文件中。
mysqlmp命令的工作原理很简单。它先查出需要备份的表的结构,再在文本文件中生成一个CREATE语句。然后,将表中的所有记录转换成一条INSERT语句。然后通过这些语句,就能够创建表并插入数据。
1、备份一个数据库
mysqlmp基本语法:
mysqlmp -u username -p dbname table1 table2 ...-> BackupName.sql
其中:
dbname参数表示数据库的名称;
table1和table2参数表示需要备份的表的名称,为空则整个数据库备份;
BackupName.sql参数表设计备份文件的名称,文件名前面可以加上一个绝对路径。通常将数据库被分成一个后缀名为sql的文件;
使用root用户备份test数据库下的person表
mysqlmp -u root -p test person > D:\backup.sql


其生成的脚本如下:

文件的开头会记录MySQL的版本、备份的主机名和数据库名。
文件中以“--”开头的都是SQL语言的注释,以"/*!40101"等形式开头的是与MySQL有关的注释。40101是MySQL数据库的版本号,如果MySQL的版本比1.11高,则/*!40101和*/之间的内容就被当做SQL命令来执行,如果比4.1.1低就会被当做注释。
2、备份多个数据库
语法:
mysqlmp -u username -p --databases dbname2 dbname2 > Backup.sql

加上了--databases选项,然后后面跟多个数据库
mysqlmp -u root -p --databases test mysql > D:\backup.sql

3、备份所有数据库
mysqlmp命令备份所有数据库的语法如下:
mysqlmp -u username -p -all-databases > BackupName.sql

示例:
mysqlmp -u -root -p -all-databases > D:\all.sql

2、直接复制整个数据库目录
MySQL有一种非常简单的备份方法,就是将MySQL中的数据库文件直接复制出来。这是最简单,速度最快的方法。
不过在此之前,要先将服务器停止,这样才可以保证在复制期间数据库的数据不会发生变化。如果在复制数据库的过程中还有数据写入,就会造成数据不一致。这种情况在开发环境可以,但是在生产环境中很难允许备份服务器。
注意:这种方法不适用于InnoDB存储引擎的表,而对于MyISAM存储引擎的表很方便。同时,还原时MySQL的版本最好相同。
3、使用mysqlhot工具快速备份
一看名字就知道是热备份。因此,mysqlhot支持不停止MySQL服务器备份。而且,mysqlhot的备份方式比mysqlmp快。mysqlhot是一个perl脚本,主要在Linux系统下使用。其使用LOCK TABLES、FLUSH TABLES和cp来进行快速备份。
原理:先将需要备份的数据库加上一个读锁,然后用FLUSH TABLES将内存中的数据写回到硬盘上的数据库,最后,把需要备份的数据库文件复制到目标目录。
命令格式如下:
[root@localhost ~]# mysqlhot [option] dbname1 dbname2 backupDir/

dbname:数据库名称;
backupDir:备份到哪个文件夹下;
常用选项:
--help:查看mysqlhot帮助;
--allowold:如果备份目录下存在相同的备份文件,将旧的备份文件加上_old;
--keepold:如果备份目录下存在相同的备份文件,不删除旧的备份文件,而是将旧的文件更名;
--flushlog:本次辈分之后,将对数据库的更新记录到日志中;
--noindices:只备份数据文件,不备份索引文件;
--user=用户名:用来指定用户名,可以用-u代替;
--password=密码:用来指定密码,可以用-p代替。使用-p时,密码与-p之间没有空格;
--port=端口号:用来指定访问端口,可以用-P代替;
--socket=socket文件:用来指定socket文件,可以用-S代替;
mysqlhot并非mysql自带,需要安装Perl的数据库接口包;下载地址为:http://dev.mysql.com/downloads/dbi.html
目前,该工具也仅仅能够备份MyISAM类型的表。
二、数据还原
1、还原使用mysqlmp命令备份的数据库的语法如下:
mysql -u root -p [dbname] < backup.sq
示例:
mysql -u root -p < C:\backup.sql

2、还原直接复制目录的备份
通过这种方式还原时,必须保证两个MySQL数据库的版本号是相同的。MyISAM类型的表有效,对于InnoDB类型的表不可用,InnoDB表的表空间不能直接复制。

⑽ Navicat for MySQL怎么还原数据库啊,psc格式的

步骤如下:

1、首先打开navicat,找到需要备份的数据库,并且打开,如图所示。

热点内容
g92编程 发布:2025-05-17 21:00:31 浏览:170
汇编语言第三版脚本之家 发布:2025-05-17 20:54:26 浏览:399
资源配置最佳状态叫什么 发布:2025-05-17 20:48:58 浏览:84
定义dns服务器的ip 发布:2025-05-17 20:32:37 浏览:954
android判断图片 发布:2025-05-17 20:32:33 浏览:833
安卓12什么时候适配小米 发布:2025-05-17 20:31:47 浏览:71
c语言字符串初始化 发布:2025-05-17 20:18:43 浏览:37
安卓融e联推送需要什么权限 发布:2025-05-17 20:18:39 浏览:269
我的世界无限武魂服务器 发布:2025-05-17 20:17:09 浏览:372
安卓手游脚本语言 发布:2025-05-17 19:53:07 浏览:22