daje błąd „mysqldump: Dostał błąd: 1049: Nieznane hasło do bazy danych podczas wybierania bazy danych”, ale działało, gdy
usunąłem
11
@ AteşDanış Nie ma spacji między -pi thepassword.
Charles Wood,
44
Powinieneś po prostu użyć, -pa następnie zostaniesz poproszony o hasło. W ten sposób można uniknąć konieczności hasła zapisane na przykład w.bash_history
Nuala
7
Dla mnie to polecenie działa: mysqldump -u TwójUżytkownik -p Twoja_bazy_danych> Wantsqlfile.sql (Wpisz polecenie, naciśnij klawisz Enter, a następnie zostanie wprowadzone hasło).
shasi kanth
3
Podanie hasła w wierszu poleceń należy uznać za niepewne.
Myślę, że przegapiłeś fakt, że używa WAMP - Windows ... gunzip / gzip nie są dołączone do systemu Windows. Możliwe, że uruchomisz polecenie po zainstalowaniu niektórych rzeczy, ale myślę, że przegapiłeś ten fakt.
Rolf
2
Podanie gzip -9powoduje, że plik wynikowy jest nieco mniejszy, ponieważ stosowana jest maksymalna kompresja.
AntonK,
39
Przede wszystkim otwórz wiersz polecenia, a następnie otwórz katalog bin w cmd (mam nadzieję, że znasz polecenia cmd ) idź do katalogu bin twojego folderu MySql w plikach programu WAMP .
Ponownie, W AMP => Windows. który jest poleceniem Linuksa. gunzip / gzip nie są dołączone do systemu Windows - i mogą być niedostępne. scp ... masz rację.
Rolf
Odpowiedź Opentuned jest świetna . Jedyną drobną rzeczą jest usunięcie rzeczywistego passwordz wiersza poleceń: mysqldump -u [nazwa użytkownika] -p [nazwa_bazy]> nazwa_pliku.sql Uniemożliwia to użytkownikom przeszukiwanie historii w poszukiwaniu hasła.
Vincent
1
@Opentuned, Co jest z fetyszem linuxowym?
Pacerier
dla -p [hasło] musi być blisko, np .: mysqldump -u tutorials -p'mypassword' -h 127.0.0.1 database_name > file_backup_database_name_.sqlOstrzeżenie: Użycie hasła w interfejsie wiersza poleceń może być niepewne.
Marwan Salim,
19
Aby wyeksportować również PROCEDURY, FUNKCJE i SPUSTY, dodaj --routinesparametr:
Przełącznik --routinesrobi różnicę :) Jakieś wskazówki, jak eksportować tylko PROCEDURY, FUNKCJE i TRIGERY? Dla tych, którzy zapomnieli o przełączniku i wyeksportowali „czystą” DB bez „algorytmów” :)
AntonK
BTW, przełącznik --eventsjest potrzebny, aby zrzucić zdarzenia z harmonogramu zdarzeń, a wyzwalacze są zawsze eksportowane, chyba że --skip-triggersokreślono inaczej (zgodnie z 7.4.5.3 Zrzucanie przechowywanych programów )
AntonK
10
Podaj to polecenie, aby wyeksportować bazę danych, będzie ona również zawierać datę
Zauważ, że określenie --databasesspowoduje wstawienie instrukcji jako CREATE DATABASE XYZ;i USE XYZ;, co nie jest przydatne podczas importowania SQL do innej bazy danych o innej nazwie ...
AntonK
8
Zainstalowałem mój serwer wamp na D: dysk, więc musisz przejść do następującej ścieżki z wiersza poleceń ur -> (a jeśli zainstalowałeś ur wamp na c: dysk, po prostu zastąp d: wtih c: tutaj)
D:\>cd wamp
D:\wamp>cd bin
D:\wamp\bin>cd mysql
D:\wamp\bin\mysql>cd mysql5.5.8(whatever ur verserion will be displayed here use keyboard Tab button andselect the currently working mysql version on your server if you have more than one mysql versions)
D:\wamp\bin\mysql\mysql5.5.8>cd bin
D:\wamp\bin\mysql\mysql5.5.8\bin>mysqldump -u root -p password db_name >"d:\backupfile.sql"
tutaj root jest użytkownikiem mojego phpmyadmin
hasło jest hasłem dla phpmyadmin, więc jeśli nie ustawiłeś żadnego hasła dla roota, po prostu nic nie
wpisuj w tym miejscu, db_name to baza danych (dla której bazy danych masz kopię zapasową), backupfile.sql jest plik, w którym chcesz wykonać kopię zapasową swojej bazy danych, a także możesz zmienić lokalizację pliku kopii zapasowej (d: \ backupfile.sql) z dowolnego innego miejsca na komputerze
Ze wszystkich sposobów, w jakie to znalazłem, ta odpowiedź jest jedyną, która działała dla mnie. Używam MySQL w wersji 5.6, więc ścieżka była następująca ... \ MySQL \ MySQL Server 5.6 \ bin dla wiersza polecenia. Będziesz musiał użyć swojej nazwy użytkownika i hasła administratora MySQL, określone dla konkretnej bazy danych nie będą działać. Dziękuję Sachin. Nawet instrukcje zawarte w podręczniku MySQL dla wersji 5.6 nie działają. Składnia jest tam niekompletna.
Max West
Czy to naprawdę działa z przestrzenią między -pi password?
Problem ze wszystkimi tymi rozwiązaniami (przy użyciu >znaku przekierowującego) polega na tym, że piszesz zrzut ze standardowego wyjścia, co może przerwać kodowanie niektórych znaków w bazie danych.
Jeśli masz problem z kodowaniem znaków. Jak na przykład :
BŁĄD 1064 (42000): Wystąpił błąd w składni SQL; sprawdź instrukcję, która odpowiada twojej wersji serwera MySQL pod kątem właściwej składni do użycia w pobliżu ...
następnie MUSISZ użyć -ropcji, aby zapisać plik.
MySQL
mysqldump -u user -pyour-password-without-space-between-letter-p-and-your-password --default-character-set=utf8 --host $HOST database-name -r dump.sql
gdzie d: \ wamp \ bin \ mysql \ mysql5.6.12 \ bin \ mysqldump.exe będzie twoją rzeczywistą ścieżką mysqldump.exe, mydbname to nazwa bazy danych, którą chcesz wyeksportować, a d: \ mydb.sql to ścieżka gdzie chcesz zapisać wyeksportowaną bazę danych.
echo -e "Welcome to the import/export database utility\n"
echo -e "the default location of mysqldump file is: /opt/lampp/bin/mysqldump\n"
echo -e "the default location of mysql file is: /opt/lampp/bin/mysql\n"read-p 'Would like you like to change the default location [y/n]: ' location_change
read-p "Please enter your username: " u_name
read-p 'Would you like to import or export a database: [import/export]: ' action
echo
mysqldump_location=/opt/lampp/bin/mysqldump
mysql_location=/opt/lampp/bin/mysql
if["$action"=="export"];thenif["$location_change"=="y"];thenread-p 'Give the location of mysqldump that you want to use: ' mysqldump_location
echo
else
echo -e "Using default location of mysqldump\n"
fi
read-p 'Give the name of database in which you would like to export: ' db_name
read-p 'Give the complete path of the .sql file in which you would like to export the database: ' sql_file
$mysqldump_location -u $u_name -p $db_name >$sql_file
elif ["$action"=="import"];thenif["$location_change"=="y"];thenread-p 'Give the location of mysql that you want to use: ' mysql_location
echo
else
echo -e "Using default location of mysql\n"
fi
read-p 'Give the complete path of the .sql file you would like to import: ' sql_file
read-p 'Give the name of database in which to import this file: ' db_name
$mysql_location -u $u_name -p $db_name <$sql_file
else
echo "please select a valid command"
fi
Odpowiedzi:
Najpierw sprawdź, czy wiersz polecenia rozpoznaje polecenie mysql. Jeśli nie, przejdź do polecenia i wpisz:
Następnie użyj tego polecenia, aby wyeksportować bazę danych:
Zostaniesz poproszony o podanie hasła do bazy danych .
Spowoduje to wyeksportowanie bazy danych do ścieżki, w której aktualnie jesteś, podczas wykonywania tego polecenia
Uwaga: oto kilka szczegółowych instrukcji dotyczących importu i eksportu
źródło
-p
ithepassword
.-p
a następnie zostaniesz poproszony o hasło. W ten sposób można uniknąć konieczności hasła zapisane na przykład w.bash_history
Po prostu użyj następującego polecenia,
Na eksport:
Do importu:
Uwaga: między słowem kluczowym „-p” a hasłem nie ma spacji.
źródło
gzip -9
powoduje, że plik wynikowy jest nieco mniejszy, ponieważ stosowana jest maksymalna kompresja.Przede wszystkim otwórz wiersz polecenia, a następnie otwórz katalog bin w cmd (mam nadzieję, że znasz polecenia cmd ) idź do katalogu bin twojego folderu MySql w plikach programu WAMP .
Uruchom polecenie
naciśnij enter system wyeksportuje określoną bazę danych i utworzy plik sql do podanej lokalizacji.
mam nadzieję, że je masz :) jeśli masz jakieś pytania, daj mi znać.
źródło
Możesz użyć poniższego polecenia,
mysqldump --databases --user=root --password your_db_name > export_into_db.sql
a wygenerowany plik będzie dostępny w tym samym katalogu, w którym uruchomiłeś to polecenie.
Możesz znaleźć więcej na oficjalnej referencji dla
mysqldump
: Importuj eksport MySQL DBUwaga : użyj
--databases
zamiast,--database
ponieważ ostatni nie jest już obsługiwany.Cieszyć się :)
źródło
mysqldump: [ERROR] unknown option '--database'
ale wyłączenie--database
go zadziałało.Przejdź do wiersza polecenia na tej ścieżce,
C:\Program Files (x86)\MySQL\MySQL Server 5.0\bin>
Następnie podaj to polecenie, aby wyeksportować bazę danych ( bez spacji po -p )
mysqldump -u[username] -p[userpassword] yourdatabase > [filepath]wantedsqlfile.sql
źródło
Znajdź swoją instancję mysql za pomocą:
Jeśli jest to poprawne, wyeksportuj za pomocą następującego (w przeciwnym razie przejdź do instancji mysql w folderze mamp w bin):
A jeśli chcesz go skompresować w tym samym czasie:
Następnie możesz przenieść ten plik między serwerami za pomocą:
(gdzie xxx.xxx.xxx.xxx to adres IP serwera)
A następnie zaimportuj go za pomocą:
źródło
password
z wiersza poleceń: mysqldump -u [nazwa użytkownika] -p [nazwa_bazy]> nazwa_pliku.sql Uniemożliwia to użytkownikom przeszukiwanie historii w poszukiwaniu hasła.mysqldump -u tutorials -p'mypassword' -h 127.0.0.1 database_name > file_backup_database_name_.sql
Ostrzeżenie: Użycie hasła w interfejsie wiersza poleceń może być niepewne.Aby wyeksportować również PROCEDURY, FUNKCJE i SPUSTY, dodaj
--routines
parametr:mysqldump -u YourUser -p YourDatabaseName --routines > wantedsqlfile.sql
źródło
--routines
robi różnicę :) Jakieś wskazówki, jak eksportować tylko PROCEDURY, FUNKCJE i TRIGERY? Dla tych, którzy zapomnieli o przełączniku i wyeksportowali „czystą” DB bez „algorytmów” :)--events
jest potrzebny, aby zrzucić zdarzenia z harmonogramu zdarzeń, a wyzwalacze są zawsze eksportowane, chyba że--skip-triggers
określono inaczej (zgodnie z 7.4.5.3 Zrzucanie przechowywanych programów )Podaj to polecenie, aby wyeksportować bazę danych, będzie ona również zawierać datę
(bez spacji po -p)
źródło
--databases
spowoduje wstawienie instrukcji jakoCREATE DATABASE XYZ;
iUSE XYZ;
, co nie jest przydatne podczas importowania SQL do innej bazy danych o innej nazwie ...Zainstalowałem mój serwer wamp na D: dysk, więc musisz przejść do następującej ścieżki z wiersza poleceń ur -> (a jeśli zainstalowałeś ur wamp na c: dysk, po prostu zastąp d: wtih c: tutaj)
tutaj root jest użytkownikiem mojego phpmyadmin hasło jest hasłem dla phpmyadmin, więc jeśli nie ustawiłeś żadnego hasła dla roota, po prostu nic nie wpisuj w tym miejscu, db_name to baza danych (dla której bazy danych masz kopię zapasową), backupfile.sql jest plik, w którym chcesz wykonać kopię zapasową swojej bazy danych, a także możesz zmienić lokalizację pliku kopii zapasowej (d: \ backupfile.sql) z dowolnego innego miejsca na komputerze
źródło
-p
ipassword
?Przykład w localhost
źródło
Problem ze wszystkimi tymi rozwiązaniami (przy użyciu
>
znaku przekierowującego) polega na tym, że piszesz zrzut ze standardowego wyjścia, co może przerwać kodowanie niektórych znaków w bazie danych.Jeśli masz problem z kodowaniem znaków. Jak na przykład :
następnie MUSISZ użyć
-r
opcji, aby zapisać plik.MySQL
Korzystanie z Dockera
Uwaga: montuje bieżącą ścieżkę jako zrzut wewnątrz instancji.
Znaleźliśmy odpowiedź tutaj
I odwrotnie, nie używaj
<
do importowania zrzutu do bazy danych, ponownie, twoje znaki inne niż utf8 mogą nie zostać przekazane; ale wolę opcję źródła.źródło
Składnia
Przykład
gdzie d: \ wamp \ bin \ mysql \ mysql5.6.12 \ bin \ mysqldump.exe będzie twoją rzeczywistą ścieżką mysqldump.exe, mydbname to nazwa bazy danych, którą chcesz wyeksportować, a d: \ mydb.sql to ścieżka gdzie chcesz zapisać wyeksportowaną bazę danych.
źródło
Użyłem serwera Wamp. Próbowałem
root
to moja nazwa użytkownika dla mysql, a jeśli masz jakieś hasło, podaj je za pomocą:Mam nadzieję, że to działa.
źródło
W przypadku systemu operacyjnego Windows :
Gdy pojawi się błąd 1064 mysql (42000) podczas próby wykonania polecenia mysqldump , wyjdź z bieżącego terminala. I uruchom polecenie mysqldump.
źródło
Próbowałem zrobić zrzut bazy danych uruchomionej w oknie dokowanym i wymyśliłem poniższe polecenie, aby osiągnąć to samo:
docker exec
<container_id/name>
/ usr / bin / mysqldump -u<db_username>
--password =<db_password>
db_name
> .sqlMam nadzieję że to pomoże!
źródło
Możesz użyć tego skryptu, aby wyeksportować lub zaimportować dowolną bazę danych z terminala podanego pod tym linkiem: https://github.com/Ridhwanluthra/mysql_import_export_script/blob/master/mysql_import_export_script.sh
źródło