4

我正在使用linux,我都试过了

mysql -u root -pabc123 < ~/Desktop/restore.sql

并以 root 身份登录到 mysql

\. ~/Desktop/restore.sql

我不断收到错误You have an error in your SQl syntax; check the manual that corresponds to your MYSQL server version for the right syntan to use near 'Ctrl-C' at line 1

这让我很生气,有人知道为什么吗?

这是一个 mysqldump --all-databases 文件

谢谢!

这是前几行

-- MySQL 转储 10.13 Distrib 5.1.58,用于 debian-linux-gnu (x86_64)
--
-- 主机:localhost 数据库:
-------------------------------------------------- ------
-- 服务器版本 5.1.58-1ubuntu1

/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 设置@OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 设置名称 utf8 */;
/*!40103 设置@OLD_TIME_ZONE=@@TIME_ZONE */;
/*!40103 SET TIME_ZONE='+00:00' */;
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;

--
-- 当前数据库:`mytmpDB`
--

创建数据库 /*!32312 如果不存在*/ `
4

3 回答 3

3
mysql -u root -pabc123 < sed -e 's/^C//g' ~/Desktop/restore.sql
于 2012-06-07T01:47:05.217 回答
0

您可以尝试更改您的登录用户吗?

也许您创建数据库时的用户与您备份数据库的用户不同?

我也有同样的问题。

你可以试试

sudo -u 用户名 -i

并做同样的操作,祝你好运!

于 2013-11-02T04:34:45.957 回答
-1

我也有同样的问题。当我更改命令 mysqldump

mysqldump -u 根数据库名

mysqldump -u root db_name > db_name.sql

它适用于恢复mysqldump。

于 2012-07-02T04:03:24.010 回答