您的位置:

mysql数据库表初始化恢复,MySQL数据库恢复

本文目录一览:

如何使用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_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 语句而丢失的信息,应确保先从更新日志中删除这些语句。

恢复单个的表

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

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

如何修复损坏的MySQL数据表

工具/材料:Management Studio。

1、首先在桌面上,点击“Management Studio”图标。

2、之后在窗口上,左侧选中要修复的数据表“rss”。

3、接着在窗口上,点击工具栏里“新建查询”图标。

4、接着在窗口上,输入修复损坏的MySQL数据表的sql语句“repair table rss;”。

4、然后在窗口上,点击工具栏里“执行”图标。

5、最后在窗口上,显示修复损坏的MySQL数据表成功。

mysql的数据删除后怎么恢复

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

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

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

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

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

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

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

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

%的mysql - 一个数据库DB_NAME updata.393 ...

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

恢复单个表

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

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

如何初始化mysql数据库

初始化mysql数据库,在shell中运行以下命令:

cd /usr/local/mysql

mkdir sock

cd /usr/local/mysql/bin

初始化数据库

./mysql_install_db--user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

或者# mysqld --initialize

扩展资料

mysql数据库的备份

1、物理冷备份,需要在数据库关闭状态下进行,能够较好的保证数据库的完整性。一般用于非核心业务,这类业务一般都允许终端,物理冷备份的特点就是速度快,恢复操作简单。通常通过直接打包数据库文件夹(如:/usr/local/mysql/data)来实现

2、通过启用二进制日志进行增量备份,MySQL支持增量备份,进行增量备份时必须启用二进制日志。二进制日志文件为用户提供复制,对执行备份点后进行的数据库更改所需的信息进行恢复。如果进行增量备份,需要刷新二进制日志。

参考资料来源:百度百科—mySQL

怎么恢复mysql数据库

简单情况下:进入原来mysql安装路径下的data文件夹下,找到相应的库和ibdata1,进行copy,就可回复原来的数据。

复杂情况下:

从另一台机上把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数据表内容删除后怎么恢复

在解决的过程中,以下几种尝试:

1.如果开启了日志,直接mysqlbinlog 使用日志恢复即可。

2.如果不是删除了一个表的部分数据,而是删除整个表,那么可以在删除后马上用磁盘数据恢复软件尝试恢复。(因为删除表后会有文件被删除,而删除表的部分数据,文件还是存在)

3.找数据恢复的公司,使用工具分析ibdata1(分析过程参考一页一页查看有没有历史记录存在,使用ibdata1恢复数据,应该是在了解数据表结构的前提下,数据库除ibdata1外其他数据受损不能正常使用数据库时尝试,而不是删了表数据后恢复什么的。(事实上,这个文件是存储现有表数据的,其实也可以设置成每个表一个文件。)

4.mysql下有ib_logfile0和ib_logfile1两个文件,其实这两个文件里,记录了Mysql的一些事物日志,用于事务的前滚后滚,是Mysql自身使用的,这个文件用文本工具打开后,有很多乱码,但却可以查找到被删除的少量数据的insert记录,极少数的乱码通过前后语句找出了原文,最终通过事物日志恢复了删除的文件。

注:用事物日志恢复,需要几个前提。

1:知道被删除数据的大概位置,不要这边查找,那边又不断有新数据插入。

2:因为有很多乱码,适用于查找少量数据,而不是用作大量数据的恢复,浪费体力。

3:如果二进制日志没开,没有备份,那么只能用这种方法恢复了。