6

我正在努力做到这一点。

我在终端中创建了一个名为“somedb”的新数据库,使用

CREATE DATABASE somedb

在我的桌面上,我从 phpMyadmin 下载了 SQL 转储:somedb.sql

我努力了:

somedb < /Users/myname/Desktop/somedb.sql

结果:错误 1064 (42000):您的 SQL 语法有错误

mysql -u myname -p -h localhost somedb </Users/myname/Desktop/somedb.sql

结果:ERROR 1064 (42000):您的 SQL 语法有错误;

我是 SQL 新手(导入这个数据库的目的是为了教科书练习)

我已授予自己所有权限,并且没有密码。

知道我做错了什么吗?

这是 SQL 转储文件的顶部:

-- phpMyAdmin SQL Dump
-- version 4.0.2
-- http://www.phpmyadmin.net
--
-- Host: localhost
-- Generation Time: Jun 18, 2013 at 02:22 PM
-- Server version: 5.5.31-30.3
-- PHP Version: 5.2.17

SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
SET time_zone = "+00:00";


/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;

--
-- Database: `somedb`
--
CREATE DATABASE IF NOT EXISTS `somedb` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
USE `somedb`;

-- --------------------------------------------------------

--
-- Table structure for table `actions`
--

CREATE TABLE IF NOT EXISTS `actions` (
  `action_id` int(11) NOT NULL AUTO_INCREMENT,
  `action` varchar(75) NOT NULL,
  `qualifiers` text NOT NULL,
  `response` varchar(75) NOT NULL,
  `response_vars` text NOT NULL,
  `active` tinyint(4) NOT NULL,
  PRIMARY KEY (`action_id`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 COMMENT='Stores user defined actions triggered by certain events' AUTO_INCREMENT=3 ;

-- --------------------------------------------------------

--
4

5 回答 5

8

我在这里找到了一个 SO 帖子。

我像这样使用“来源”:

SOURCE /Users/myname/Desktop/somedb.sql;

那行得通。很好,但互联网似乎希望我使用这样的方法:

mysql -u username -p password databasename < filename.sql

我可能会发布另一个关于何时使用第二种方法的问题,但同时我只是使用了 SQL 转储文件中的源代码

于 2013-06-18T17:41:02.150 回答
2

使用 MAMP Pro,在 MAMP 中创建“上传”目录,并将我的 SQL 文件放在那里,名为“file.sql”。在终端中运行下面的查询并为我工作。

确保在“-u”或“-p”之后替换括号和用户信息,不带空格

/Applications/MAMP/Library/bin/mysql -u<username> -p<root> <db_name> < /Applications/MAMP/uploads/file.sql
于 2014-10-17T20:58:18.767 回答
1

Type this on terminal

sudo mysql -p database_name < folder/database_dump_file.sql

it will then ask you for the mysql password

于 2014-03-25T13:30:14.763 回答
1

你可以试试这个方法。。

转到 mysql 提示符,然后键入以下内容。

mysql> \. <path> /filename.sql

注意 之间的差距。和 sql 文件的路径。希望这有效。

于 2013-11-13T11:19:09.520 回答
0
mysql -uUser -p --default-character-set=utf8 databasename < /<path to .sql>

(-p) 将要求输入密码

于 2015-06-24T10:36:08.093 回答