如何通过mysql的data文件恢复数据库

如何通过mysql的data文件恢复数据库,第1张

mysql数据恢复过程

从另一台机上把mysql数据库的mysql文件夹拷贝到本地机上,目的是恢复本地机对数据的访问和 *** 作。经过如下几种情况的 *** 作。

1

在本地重装mysql(安装目录d:\program

files\mysql\mysql

server

50),直接把mysql文件夹拷贝至d:\program

files\mysql\mysql

server

50\。结果,失败:数据库连接错误。

2

卸载后重装mysql,将d:\program

files\mysql\mysql

server

50\下的数据备份,只把mysql\data文件夹全部内容拷贝到d:\program

files\mysql\mysql

server

50\data下。结果,失败:数据库连接错误。将备份的数据还完覆盖。结果,失败,还是连接不上数据库。

3

卸载后重装mysql,将mysql\data文件夹里的cf1,last文件夹(这两个是原来mysql里的数据库)拷贝进d:\program

files\mysql\mysql

server

50\data。连接成功,在navicat

for

mysql里看到数据库cf1和last,但是不能访问,因为数据全为零。明白了原来data里以数据库命名的文件存储的是数据库的表结构,不是元数据。下一步,把data文件夹里的ibdata1文件(34g大,明显存储了元数据)拷贝到d:\program

files\mysql\mysql

server

50\data里,代替原来的ibdata1文件。重启电脑,打开navicat

for

mysql,连接成功,数据可以访问 *** 作。

至此, *** 作终于成功。其实当初在那台机上把数据导出来,而不是现在直接把文件夹mysql复制过来会更容易恢复。但那台机已经重装了系统,也就是说mysql失效了。

前提是把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

use

mydb

mysql

>source

f:\mydbsql

(2)

mysql

-uroot

-p123456

mydb

use

mydb

mysql

>source

f:\multablessql

(2)

mysql

-uroot

-p123456

mydb

source

f:\muldbssql

(2)

系统命令行:

mysql

-uroot

-p123456

评论

0

0

加载更多

MySQL备份和还原,都是利用mysqldump、mysql和source命令来完成的。

1Win32下MySQL的备份与还原

11 备份

开始菜单 | 运行 | cmd |利用“cd /Program Files/MySQL/MySQL Server 50/bin”命令进入bin文件夹 | 利用“mysqldump -u 用户名 -p databasename >exportfilename”导出数据库到文件,如mysqldump -u root -p voice>voicesql,然后输入密码即可开始导出。

12 还原

进入MySQL Command Line Client,输入密码,进入到“mysql>”,输入命令"show databases;",回车,看看有些什么数据库;建立你要还原的数据库,输入"create database voice;",回车;切换到刚建立的数据库,输入"use voice;",回车;导入数据,输入"source voicesql;",回车,开始导入,再次出现"mysql>"并且没有提示错误即还原成功。

2Linux下MySQL的备份与还原

21 备份

[root@localhost ~]# cd /var/lib/mysql (进入到MySQL库目录,根据自己的MySQL的安装情况调整目录)

[root@localhost mysql]# mysqldump -u root -p voice>voicesql,输入密码即可。

22 还原

法一:

[root@localhost ~]# mysql -u root -p 回车,输入密码,进入MySQL的控制台"mysql>",同12还原。

法二:

[root@localhost ~]# cd /var/lib/mysql (进入到MySQL库目录,根据自己的MySQL的安装情况调整目录)

[root@localhost mysql]# mysql -u root -p voice<voicesql,输入密码即可。

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

一、备份命令

1、备份MySQL数据库的命令

<!--

Code highlighting produced by Actipro CodeHighlighter (freeware)

>

如果你要恢复的数据库是包含授权表的mysql数据库,您将需要使用--skip赠款-tables选项来运行服务器恢复整个数据库

- 首先,。否则,服务器会抱怨不能找到授权表。恢复表后,执行mysqladmin冲水privileges告诉服务器装载授权表,并用它们来启动。数据库目录到其他地方的原始内容

复制。例如,您可以使用它们在以后的事后分析检查表(验尸)的崩溃。

酒店与最新的数据库备份文件重新加载。如果您打算使用mysqldump的所加载的文件,则需要输入它们作为mysql的。如果您打算使用从数据库文件直接拷贝(例如,使用tar或CP),它会复制他们直接回数据库目录中。然而,在这种情况下,你应该在关闭之前,该服务器复制这些文件,然后重新启动它。在备份过程中

重做日志,然后查询更新数据库表中。对于所有可用的更新日志,你可以使用它作为mysql的输入。指定--one-database选项,因此MySQL只是要还原的数据库执行查询。如果你意识到有必要使用所有的更新日志文件,可以使用包含以下命令日志的目录:

%LS-TRL更新(0-9) | xargs的猫| mysql--。一个数据库DB_NAME

ls命令生成一个单独的日志文件更新列表,更新日志文件根据服务器(你知道,如果你其中的任何文件,排序顺序生成的顺序进行排序会发生变化,这将导致在更新日志中以错误的顺序使用)。有限公司您可能需要使用一些更新日志。例如,如果日志,因为命名update392备份,pdate393等产生的,可以在命令重新运行它们:

%的mysql - 一个数据库DB_NAME <录入。 392

%的mysql - 一个数据库DB_NAME <updata393

如果您正在运行的恢复,并打算使用更新日志恢复由于失误降数据的基础上,DROPTABLE或DELETE语句和丢失的信息时,一定要在开始更新日志删除这些语句。

恢复单个表

恢复单个表是非常困难的。如果是的mysqldump备份文件生成的,它只是不包含数据,您需要一个表,你需要提取的相关线路,并利用它们作为mysql的输入,这部分比较容易。困难的是,提取在该表的更新日志中使用的片段。你会发现:mysql_find_rows工具在这方面有所帮助,它可以提取多行从更新日志查询。另一种可能性是使用另一台服务器

恢复整个数据库,然后将该文件复制到表的原始数据库。这其实很容易!当文件被复制回数据库目录,确保原始数据库服务器关闭。

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

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

原文地址: http://outofmemory.cn/sjk/9568895.html

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

发表评论

登录后才能评论

评论列表(0条)

保存