У мене є файл .sql
з експортом з phpMyAdmin
. Я хочу імпортувати його на інший сервер за допомогою командного рядка.
У мене встановлений Windows Server 2008 R2. Я розмістив файл .sql
на диску C і спробував виконати таку команду
database_name < file.sql
Вона не працює. Я отримую синтаксичні помилки.
Спробуй:
mysql -u username -p database_name < file.sql
Перевірте MySQL Options.
Примітка-1: Краще використовувати повний шлях до SQL-файлу file.sql
.
Примітка-2: Використовуйте -R
і --тригери
для збереження процедур і тригерів оригінальної бази даних. За замовчуванням вони не копіюються.
Примітка-3 Можливо, вам доведеться створити (порожню) базу даних з mysql, якщо вона ще не існує і експортований SQL не містить CREATE DATABASE
(експортований з опцією --no-create-db
або -n
), перш ніж ви зможете її імпортувати.
Зазвичай mysqldump використовується для створення резервної копії всієї бази даних:
shell> mysqldump db_name > backup-file.sql
Ви можете завантажити файл дампа назад на сервер таким чином:
UNIX
shell> mysql db_name < backup-file.sql
Те саме у командному рядку Windows:
mysql -p -u [user] [database] < backup-file.sql
PowerShell
C:\> cmd.exe /c "mysql -u root -p db_name < backup-file.sql"
Командний рядок MySQL
mysql> use db_name;
mysql> source backup-file.sql;
Перейдіть в директорію, де у вас встановлений MySQL.
c:\mysql\bin\> mysql -u username -p password database_name <
filename.sql
Також для дампа всіх баз даних використовуйте опцію -all-databases
, при цьому ім'я баз даних більше не потрібно вказувати.
mysqldump -u username -ppassword –all-databases > dump.sql
Або ви можете використовувати для цього деякі клієнти з графічним інтерфейсом, такі як SQLyog.