计算机网络/计算机科学与应用/系统/运维/开发

MySQL【高级】数据恢复

一、数据恢复

# 使用MySQL命令恢复

已经备份的包含CREATE  INSERT 语句的文本文件,可以使用MySQL命令导入到数据库中

语句包括(create insert drop) 语句直接备份:

mysql -u user -p [dbname]  <  filename.sql

user: 用户名   -p 用户密码  dbname 数据库名

注意: 如果filename.sql 文件是mysqldump工具创建的包含创建数据库语句的文件,执行的时候不需要指定数据库名。


例如:使用mysql命令将 C:\backup\booksdb_2018.sql文件中的备份导入到数据库中

mysql -u  root -p  booksDB  < C:\backup\booksdb_2018.sql

执行该语句前,必须先在mysql服务器中创建booksdb数据库。


如果已经登录mysql服务器,还可以使用source命令导入sql文件。

# 使用source  filename 恢复

例如:使用root用户登录到服务器,然后使用source导入本地备份文件booksdb_2018.sql

mysql>use booksDB; mysql>source C:\backup\booksDB_2018.sql


# 直接复制到数据库目录

如果数据库通过复制数据库文件备份,可以直接复制备份的文件到mysql数据目录下实现恢复。这种方式恢复时,必须保存备份数据的数据库和待恢复的数据库服务器的主版本号相同

但这种方式只对MyISAM引擎的表有效,对InnoDB引擎的表无效。

执行恢复以前关闭mysql服务,将备份的文件或目录覆盖mysql的data目录,启动mysql服务。

对linux/unix操作系统,复制完文件需要将文件的用户和组更改为mysql运行的用户和组,通常用户和组都是mysql


# mysqlhotcopy 快速恢复

mysqlhotcopy 备份后的文件也可以i用来恢复数据库,在mysql服务器停止运行时,将备份的数据库文件复制到mysql存放数据的位置(mysql的data文件夹下) 重新启动mysql服务

chown -R mysql.mysql /var/lib/mysql/dbname

例如:从mysqlhotcopy复制的备份恢复数据库

cp -R /usr/bakcup/test  usr/local/mysql/data


mysql

所谓坚持,就是从种子种下到开花结果需要等待的时间。

评论

^