使用终端将SQL数据库导入mysql

时间:2013-06-18 14:39:33

标签: mysql sql import terminal

我很难做到这一点。

我使用

在终端中创建了一个名为“somedb”的新数据库
CREATE DATABASE somedb

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

我试过了:

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

结果:ERROR 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 ;

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

--

5 个答案:

答案 0 :(得分:8)

我发现了一篇SO here

我像这样使用“来源”:

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

那很有用。很棒,但互联网似乎要我使用这样的方法:

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

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

答案 1 :(得分: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

答案 2 :(得分:1)

你可以尝试这种方式..

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

mysql> \. <path> /filename.sql
注意之间的差距。以及sql文件的路径。希望这可行。

答案 3 :(得分:1)

在终端上输入

sudo mysql -p database_name < folder/database_dump_file.sql

然后会询问您的mysql密码

答案 4 :(得分:0)

mysql -uUser -p --default-character-set=utf8 databasename < /<path to .sql>

( - p)会要求输入密码