今天小编给大家分享一下mysql怎么恢复数据库的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。
1、备份文件中只包含表的备份,不包含库的语句时,导入时必须指定库名,目标库必须存在。
可以从备份文件mysql-user.sql引入test库。
[root@localhost ~]# mysql -u root -p test < mysql-user.sql Enter password: [root@localhost ~]# mysql -u root -p Enter password: Welcome to the MySQL monitor. Commands end with ; or g. Your MySQL connection id is 17 Server version: 5.5.22-log Source distribution Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or 'h' for help. Type 'c' to clear the current input statement. mysql> use test; ## 验证导入结果 Database changed mysql> show tables; +----------------+ | Tables_in_test | +----------------+ | user | +----------------+ 1 row in set (0.00 sec) mysql>
2、如果备份文件包含完整的库信息,则在进行导入操作时不需要指定库名,可以从备份文件auth.sql恢复auth库。
[root@localhost ~]# cd /usr/local/mysql/data/ [root@localhost data]# ls auth ib_logfile0 localhost.err mongodb mysql-bin.000001 mysql-bin.000003 mysql-bin.index performance_schema ibdata1 ib_logfile1 localhost.pid mysql mysql-bin.000002 mysql-bin.000004 mysql.error.log test [root@localhost data]# mv auth /tmp/ ## 移动 auth 库,进行模拟故障操作。 [root@localhost data]# ls -ld auth ls: 无法访问auth: 没有那个文件或目录 [root@localhost data]# mysql -u root -p < ~/auth.sql ## 执行导入恢复操作。 Enter password: ERROR 1050 (42S01) at line 63: Table '`auth`.`users`' already exists [root@localhost data]# ls -ld auth ## 确认恢复后的结果。 drwx------. 2 mysql mysql 4096 8月 1 05:17 auth [root@localhost data]#