一、数据恢复
# 使用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