Odpowiedzi:
Zakładając, że korzystasz z konsoli Linux lub Windows:
Monituj o hasło:
mysql -u <username> -p <databasename> < <filename.sql>
Wprowadź hasło bezpośrednio (niezabezpieczone):
mysql -u <username> -p<PlainPassword> <databasename> < <filename.sql>
Przykład:
mysql -u root -p wp_users < wp_users.sql
mysql -u root -pPassword123 wp_users < wp_users.sql
Zobacz też:
4.5.1.5 Wykonywanie instrukcji SQL z pliku tekstowego
Uwaga : Jeśli korzystasz z systemu Windows, cd
przed wykonaniem polecenia musisz (zmienić katalog) na katalog MySQL / bin w CMD.
source
, możemy zobaczyć komunikaty informacyjne ( „wpływ wierszy” ) i komunikaty o błędach. Ale używając twojego rozwiązania, w jaki sposób widzimy używane wiadomości < filename.sql
?
Preferowany sposób dla systemu Windows:
Otwórz konsolę i uruchom interaktywny tryb MySQL
use <name_of_your_database>;
source <path_of_your_.sql>
;
na końcu instrukcji, ale istnieje kilka wyjątków, w tym USE
i SOURCE
.
;
source
mysql -u <USERNAME> -p <DB NAME> < <dump file path>
-u
- dla nazwy użytkownika
-p
- w celu podania hasła
Na przykład. mysql -u root -p mydb < /home/db_backup.sql
Możesz także podać hasło poprzedzone -p, ale ze względów bezpieczeństwa nie jest to sugerowane. Hasło pojawi się na samym poleceniu raczej zamaskowane.
Bezpośrednio z var / www / html
mysql -u username -p database_name < /path/to/file.sql
Z poziomu mysql:
mysql> use db_name;
mysql> source backup-file.sql
Z terminala:
mysql -uroot -p --default-character-set=utf8 database_name </database_path/database.sql
w typie terminala
mysql -uroot -p1234; use databasename; source /path/filename.sql
Wyjaśnienie:
Najpierw utwórz bazę danych lub użyj istniejącej bazy danych. W moim przypadku korzystam z istniejącej bazy danych
Załaduj bazę danych, podając <name of database> = ClassicModels
w moim przypadku i używając operatora <
podaj ścieżkę dodatabase = sakila-data.sql
Uruchamiając show tabele, otrzymuję listę tabel, jak widać.
Uwaga: W moim przypadku wystąpił błąd 1062 , ponieważ próbuję ponownie załadować to samo.
mysql -u username -ppassword dbname < /path/file-name.sql
przykład
mysql -u root -proot product < /home/myPC/Downloads/tbl_product.sql
Użyj tego z terminala
Poniższe polecenie działa na Ubuntu 16.04, nie jestem pewien, czy działa, czy nie na innych platformach Linux.
Eksportuj plik SQL:
$ mysqldump -u [user_name] -p [database_name] < [database_name.sql]
Przykład: mysqldump -u root -p max_development> max_development.sql
Importuj plik SQL:
$ mysqldump -u [user_name] -p [database_name] > [file_name.sql]
Example: mysqldump -u root -p max_production < max_development.sql
Uwaga Plik SQL powinien istnieć ten sam katalog
Otwórz terminal
mysql -u root -p
eg:- mysql -u shabeer -p
Następnie utwórz bazę danych
mysql> create database "Name";
eg:- create database INVESTOR;
Następnie wybierz tę nową bazę danych „INVESTOR”
mysql> USE INVESTOR;
Wybierz ścieżkę pliku sql z komputera
mysql> source /home/shabeer/Desktop/new_file.sql;
Następnie naciśnij klawisz Enter i poczekaj kilka razy, jeśli wszystko zostanie wykonane
mysql> exit
Otwórz klienta wiersza poleceń MySQL i wpisz hasło
Przejdź do bazy danych, której chcesz użyć do zaimportowania danych pliku .sql. Zrób to, wpisując:
USE your_database_name
Teraz zlokalizuj plik .sql, który chcesz uruchomić.
Jeśli plik znajduje się w głównym lokalnym katalogu dysku C:, a nazwa pliku skryptu .sql to currentSqlTable.sql
, wpisz następujące polecenie:
\. C:\currentSqlTable.sql
i naciśnij, Enteraby uruchomić plik skryptu SQL.
Po trudach przez jakiś czas znalazłem informacje w https://tommcfarlin.com/importing-a-large-database/
Połącz się z Mysql (użyjmy roota zarówno dla nazwy użytkownika, jak i hasła):
mysql -uroot -proot
Połącz się z bazą danych (powiedzmy, że nazywa się pusta baza danych (powinieneś otrzymać komunikat potwierdzający):
connect emptyDatabase
3 Zaimportuj kod źródłowy, powiedzmy, że plik nazywa się mySource.sql i znajduje się w folderze o nazwie mySoureDb pod profilem użytkownika o nazwie myUser:
source /Users/myUser/mySourceDB/mySource.sql
Jeśli używasz sakila-db ze strony mysql, na platformie Linux jest to bardzo proste, po prostu wykonaj poniższe czynności. Po pobraniu pliku zip sakila-db wyodrębnij go. Teraz będziesz mieć dwa pliki, jeden to sakila-schema.sql, a drugi to sakila-data.sql .
Proszę uważać, aby wyodrębnione pliki znajdowały się w katalogu domowym .
W Ubuntu, z monitora MySQL , użyłeś już tej składni:
mysql> use <dbname>
-> Instrukcja USE informuje MySQL, aby używał jej dbname
jako domyślnej bazy danych dla kolejnych instrukcji
mysql> source <file-path>
na przykład :
mysql> use phonebook;
mysql> source /tmp/phonebook.sql;
Ważne : upewnij się, że plik sql znajduje się w katalogu, do którego mysql może uzyskać dostęp do like / tmp
Przed uruchomieniem poleceń na terminalu musisz upewnić się, że na terminalu jest zainstalowany MySQL.
Aby zainstalować, możesz użyć następującego polecenia:
sudo apt-get update
sudo apt-get install mysql-server
Odwołanie tutaj .
Następnie możesz za pomocą następujących poleceń zaimportować bazę danych:
mysql -u <username> -p <databasename> < <filename.sql>
Najprostszym sposobem na zaimportowanie bazy danych do MYSQL z terminala jest poniższy proces -
mysql -u root -p root database_name < path to your .sql file
To co robię powyżej to:
root
& root
)<
a następnie ścieżka do pliku .sql. Na przykład, jeśli mój plik jest przechowywany na pulpicie, ścieżka będzie/home/Desktop/db.sql
Otóż to. Po wykonaniu wszystkich tych czynności naciśnij klawisz Enter i poczekaj, aż plik .sql zostanie przesłany do odpowiedniej bazy danych
Pomiędzy -p a hasłem nie może być spacji
mysql -u [dbusername] -p[dbpassword] [databasename] < /home/serverusername/public_html/restore_db/database_file.sql
Zawsze go używam, działa idealnie. Dzięki, że zadałem to pytanie. Miłego dnia. Ciesz się :)