2013-06-18 8 views
5

Ich habe Schwierigkeiten, dies zu tun.Importieren einer SQL-Datenbank in mysql mit dem Terminal

Ich habe eine neue Datenbank im Terminal namens "somedb"

CREATE DATABASE somedb 

Ich habe den SQL-Dump Auf meinem Desktop mit erstellt von phpMyadmin heruntergeladen somedb.sql

ich versucht habe:

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

Ergebnis: eRROR 1064 (42000): Sie haben einen Fehler in der SQL-Syntax

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

Ergebnis: Fehler 1064 (42000): Sie haben einen Fehler in Ihrer SQL-Syntax;

Ich bin neu in SQL (Der Zweck dieses db des Imports ist für ein Lehrbuch Übung)

ich mir alle Privilegien gewährt und es gibt kein Passwort.

Irgendeine Idee, was ich falsch mache? Hier

ist das obere Ende der SQL-Dump-Datei:

-- 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 @[email protected]@CHARACTER_SET_CLIENT */; 
/*!40101 SET @[email protected]@CHARACTER_SET_RESULTS */; 
/*!40101 SET @[email protected]@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 ; 

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

-- 

Antwort

8

Ich fand ein SO here posten.

Ich benutzte "Quelle" wie folgt:

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

Das funktionierte. Toll, aber das Internet schien mir die Methode, wie so verwenden zu wollen:

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

poste ich kann eine andere Frage, wenn diese zweite Methode zu verwenden, aber in der Zwischenzeit habe ich

nur verwendet Quelle aus einer SQL-Dump-Datei
+0

Was das Internet fragen zu ersetzen will das Internet bekommt! ;-) – Wes

1

Sie können auf diese Weise versuchen.

Gehen Sie zur Eingabeaufforderung mysql und geben Sie dann Folgendes ein.

mysql> \. <path> /filename.sql 

Beachten Sie die Lücke zwischen. und der Pfad der SQL-Datei. Das funktioniert.

1

Geben Sie diesen auf Terminal

sudo mysql -p database_name < folder/database_dump_file.sql 

es wird Ihnen dann das Passwort mysql fragen

2

Mit MAMP Pro, erstellt "uploads" dir in MAMP und meine SQL-Datei in dort als „Datei setzen. sql ". Lief die Abfrage unten im Terminal und arbeitete für mich.

Stellen Sie sicher, Klammern und und Benutzerinformationen ohne Leerzeichen nach "-u" oder "-p"

/Applications/MAMP/Library/bin/mysql -u<username> -p<root> <db_name> < /Applications/MAMP/uploads/file.sql 
+0

perfekte Antwort !!! keine Notwendigkeit, einen Upload-Ordner zu erstellen! Wir können Dateien auch auf das Terminal ziehen! – SagarPPanchal

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

(p) für Passwort

Verwandte Themen