如果要恢复的数据库尚不存在,则需要先创建它。
在命令行上,如果您位于包含转储文件的同一目录中,请使用以下命令(带有适当的替换):
C:\> mysql -u root -p
mysql> create database mydb;
mysql> use mydb;
mysql> source db_backup.dump;
它应该像运行这个一样简单:
mysql -u <user> -p < db_backup.dump
如果转储是单个数据库,您可能必须在文件顶部添加一行:
USE <database-name-here>;
如果它是许多数据库的转储,则 use 语句已经存在。
要运行这些命令,请打开命令提示符(在 Windows 中)和 cd
到 mysql.exe
可执行文件所在的目录(您可能需要四处寻找它,这取决于您安装 mysql 的方式,即独立或作为 WAMP 等软件包的一部分)。进入该目录后,您应该可以像上面那样键入命令。
mysql -u<user> -p mydatabasename < db_backup.dump
文件开头不需要 USE
语句
你只需要运行这个:
mysql -p -u[user] [database] < db_backup.dump
如果转储包含多个数据库,则应省略数据库名称:
mysql -p -u[user] < db_backup.dump
要运行这些命令,请打开命令提示符(在 Windows 中)和 cd
到 mysql.exe
可执行文件所在的目录(您可能需要四处寻找它,这取决于您安装 mysql 的方式,即独立或作为 WAMP 等软件包的一部分)。进入该目录后,您应该只需键入命令即可。
当我们使用 mysqldump
创建转储文件时,它包含一个用于重新创建数据库内容的大型 SQL 脚本。所以我们通过启动 MySQL 的命令行客户端来恢复它:
mysql -uroot -p
(其中 root
是我们的 MySQL 管理员用户名),一旦连接到数据库,我们需要命令来创建数据库并将文件读入其中:
create database new_db;
use new_db;
\. dumpfile.sql
详细信息将根据创建转储文件时使用的选项而有所不同。
运行命令进入数据库
# mysql -u root -p
输入用户的密码然后创建一个新数据库
mysql> create database MynewDB;
mysql> exit
并使 exit.Afetr that.Run 这个命令
# mysql -u root -p MynewDB < MynewDB.sql
然后进入数据库并输入
mysql> show databases;
mysql> use MynewDB;
mysql> show tables;
mysql> exit
就是这样............您的转储将从一个数据库恢复到另一个数据库
否则有转储恢复的替代方法
# mysql -u root -p
然后进入数据库并输入
mysql> create database MynewDB;
mysql> show databases;
mysql> use MynewDB;
mysql> source MynewDB.sql;
mysql> show tables;
mysql> exit
如果您想查看转储的进度,请尝试以下操作:
pv -i 1 -p -t -e /path/to/sql/dump | mysql -u USERNAME -p DATABASE_NAME
您当然需要安装“pv”。此命令仅适用于 *nix。
我按照这些步骤让它工作......
打开 MySQL Administrator 并连接到服务器 选择左侧的“Catalogs” 右键单击左下角的框并选择“Create New Schema” MySQL Administrator http://img204.imageshack.us/img204/7528/adminsx9.th.gif放大图片 命名新模式(例如:“dbn”) MySQL 新模式 http://img262.imageshack.us/img262/4374/newwa4.th.gif 放大图片 打开 Windows 命令提示符 (cmd) Windows 命令提示符 http:/ /img206.imageshack.us/img206/941/startef7.th.gif 放大图片 将目录更改为 MySQL 安装文件夹 执行命令:mysql -u root -p dbn < C:\dbn_20080912.dump ...其中“root”是用户,“dbn”是数据库名称,“C:\dbn_20080912.dump”是 mysqldump .dump 文件的路径/文件名 MySQL dump restore 命令行 http://img388.imageshack.us/img388/2489/ cmdjx0.th.gif 放大图片 享受吧!
作为先前答案的具体示例:
我需要恢复备份,以便将其导入/迁移到 SQL Server。我只安装了 MySql,但没有将其注册为服务或将其添加到我的路径中,因为我不需要让它保持运行。
我使用 Windows 资源管理器将转储文件放在 C:\code\dump.sql 中。然后从开始菜单项打开 MySql。创建了数据库,然后使用完整路径运行源命令,如下所示:
mysql> create database temp
mysql> use temp
mysql> source c:\code\dump.sql
使用在 Linux 上创建的 200MB 转储文件在带有 mysql 5.5 的 Windows 上恢复,我在
source file.sql
从 mysql 提示符的方法比使用
mysql < file.sql
命令行上的方法,这导致了一些错误 2006“服务器已消失”(在 Windows 上)
奇怪的是,在(mysql)安装期间创建的服务引用了一个不存在的 my.ini 文件。我将“大”示例文件复制到 my.ini 中,我已经根据建议的增加对其进行了修改。
我的价值观是
[mysqld]
max_allowed_packet = 64M
interactive_timeout = 250
wait_timeout = 250
./mysql -u <username> -p <password> -h <host-name like localhost> <database-name> < db_dump-file
mysql
命令不接受选项及其参数之间的空格。它必须改为 -u<username>
,并且根本不应该在命令行上提供密码。
如果备份/转储不是从那里创建的,则不能使用 MySQL Admin 中的恢复菜单。不过值得一试。如果您选择使用复选框“忽略错误”,它会说它已成功完成,尽管它显然退出时只导入了一小部分行......请注意,这是一个转储。
从 mysqldump
恢复生成的 SQL 的单行命令
mysql -u <username> -p<password> -e "source <path to sql file>;"
mysql -u root -p12345678 -e "source /tmp/backup.sql;"
假设您已经创建了空白数据库,您还可以从命令行恢复数据库,如下所示:
mysql databasename < backup.sql
您还可以使用 MySQL Administrator 中的还原菜单。您只需打开备份文件,然后单击恢复按钮。
如果您已经在 mysql
提示符内并假设您的转储文件 dump.sql
,那么我们也可以使用如下命令来恢复转储
mysql> \. dump.sql
如果您的转储大小较大,请将 max_allowed_packet
值设置为较高。设置此值将帮助您更快地恢复转储。
USE DB_NAME
选择一个数据库来恢复数据
如何使用 MySQLWorkbench 恢复 MySQL 数据库
您可以在查询选项卡中运行 drop 和 create 命令。
如果架构当前存在,则删除它
DROP DATABASE `your_db_name`;
创建新架构
CREATE SCHEMA `your_db_name`;
打开您的转储文件
https://i.stack.imgur.com/eUYHJ.png
单击在新查询选项卡中打开 SQL 脚本图标并选择您的数据库转储文件。然后单击 Run SQL Script... 然后它将让您预览 SQL 转储脚本的第一行。然后,您将选择默认模式名称 接下来选择默认字符集 utf8 通常是一个安全的选择,但您可以通过查看预览行中的字符集来辨别它。单击运行请耐心等待大型数据库还原脚本,并观察您的驱动器空间消失! 🎉
mysql -u root -psecret
在命令行上提供密码,但缺点是您的密码以明文形式显示在进程列表和日志文件中。正如您所建议的,最好使用空的-p
并在提示中键入它。mysqldump db | gzip -9 > dumpfile.sql.gz
生成)