2013-06-18 13 views
5

Non riesco a farlo.Importazione di un db SQL in mysql utilizzando il terminale

ho creato un nuovo database nel terminale chiamato "somedb" utilizzando

CREATE DATABASE somedb 

sul mio desktop ho il dump SQL scaricato da phpMyAdmin: somedb.sql

ho provato:

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

Result: eRROR 1064 (42000): Hai un errore nella sintassi SQL

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

Risultato: ERRORE 1064 (42000): si è verificato un errore nella sintassi SQL;

Sono nuovo di SQL (l'importazione di questo db è un testo quaderno)

ho concesso me stesso tutti i privilegi e non v'è alcuna password.

Qualche idea su cosa sto facendo male?

Ecco la parte superiore del file dump 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 @[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 ; 

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

-- 

risposta

8

ho trovato un SO inviare here.

ho usato "fonte" in questo modo:

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

che ha funzionato. Grande ma internet sembrava voler me di utilizzare il metodo in questo modo:

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

io possa inviare un'altra domanda su quando utilizzare questo secondo metodo, ma nel frattempo ho appena sorgente utilizzata da un file di dump SQL

+0

Cosa internet vuole che internet diventi! ;-) – Wes

1

Puoi provare in questo modo ..

Passare al prompt mysql e quindi digitare quanto segue.

mysql> \. <path> /filename.sql 

Annotare lo spazio tra. e il percorso del file sql. Questo funziona.

1

tipo questo sul terminale

sudo mysql -p database_name < folder/database_dump_file.sql 

esso vi chiederà di inserire la password mysql

2

Utilizzando MAMP Pro, create "arrivi" dir in MAMP e mettere il mio file SQL in là chiamato file". sql". Ha eseguito la query in basso nel terminale e ha funzionato per me.

Assicurarsi di sostituire le staffe ed e informazioni utente senza spazi dopo "u" o "p"

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

risposta perfetta !!! non c'è bisogno di creare una cartella di upload! potremmo trascinare i file localizzati sul terminale! – SagarPPanchal

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

(-p) chiederà la password

Problemi correlati