我得到了一个MySQL数据库文件,我需要将其恢复为Windows Server 2008机器上的数据库。
我尝试使用MySQL管理员,但我得到以下错误:
所选文件由 Mysqldump,不能恢复 这个应用程序。
我如何让它工作?
我得到了一个MySQL数据库文件,我需要将其恢复为Windows Server 2008机器上的数据库。
我尝试使用MySQL管理员,但我得到以下错误:
所选文件由 Mysqldump,不能恢复 这个应用程序。
我如何让它工作?
当前回答
假设你已经创建了空白数据库,你也可以像这样从命令行恢复数据库:
mysql databasename < backup.sql
其他回答
它应该像运行这样简单:
mysql -u <user> -p < db_backup.dump
如果转储的是单个数据库,您可能需要在文件顶部添加一行:
USE <database-name-here>;
如果它是许多数据库的转储,则use语句已经在其中。
要运行这些命令,打开一个命令提示符(在Windows中),并cd到mysql.exe可执行文件所在的目录(你可能需要四处寻找,这取决于你如何安装mysql,即独立或作为WAMP包的一部分)。进入该目录后,您应该能够像上面那样键入命令。
本地mysql:
mysql -u root --password=YOUR_PASS --database=YOUR_DB < ./dump.sql
如果你使用docker:
docker exec -i DOCKER_NAME mysql -u root --password=YOUR_PASS --database=YOUR_DB < ./dump.sql
运行命令进入DB
# mysql -u root -p
输入用户密码,然后创建新DB
mysql> create database MynewDB;
mysql> exit
然后退出。Afetr。执行此命令
# mysql -u root -p MynewDB < MynewDB.sql
然后进入db并键入
mysql> show databases;
mysql> use MynewDB;
mysql> show tables;
mysql> exit
就是这样........您的转储将从一个DB恢复到另一个DB
或者还有另一种转储恢复的方法
# mysql -u root -p
然后进入db并键入
mysql> create database MynewDB;
mysql> show databases;
mysql> use MynewDB;
mysql> source MynewDB.sql;
mysql> show tables;
mysql> exit
./mysql -u <username> -p <password> -h <host-name like localhost> <database-name> < db_dump-file
如果要恢复的数据库还不存在,则需要首先创建它。
在命令行中,如果你在包含转储文件的同一个目录中,使用这些命令(使用适当的替换):
C:\> mysql -u root -p
mysql> create database mydb;
mysql> use mydb;
mysql> source db_backup.dump;