Как я могу импортировать базу данных с mysql из терминала?
Я не могу найти точный синтаксис.
Как я могу импортировать базу данных с mysql из терминала?
Я не могу найти точный синтаксис.
Предполагая, что вы используете консоль Linux или Windows:
Запрашивать пароль:
mysql -u <username> -p <databasename> < <filename.sql>
Введите пароль напрямую (небезопасно):
mysql -u <username> -p<PlainPassword> <databasename> < <filename.sql>
Пример:
mysql -u root -p wp_users < wp_users.sql
mysql -u root -pPassword123 wp_users < wp_users.sql
Смотрите также:
4.5.1.5. Выполнение операторов SQL из текстового файла
Примечание: Если вы на окнах, то вам придется cd
(изменить каталог) к вашему MySQL/бен каталог внутри ЦМД перед выполнением команды.
Предпочтительный способ для окон:
Откройте консоль и запустите интерактивный режим MySQL.
use <name_of_your_database>;
source <path_of_your_.sql>
mysql -u <USERNAME> -p <DB NAME> < <dump file path>
-u
- для имени пользователя
-p
- -p
пароль
Например. mysql -u root -p mydb </home/db_backup.sql
Вы также можете указать пароль, которому предшествует -p, но по соображениям безопасности он не поддается предположению. Пароль появится на самой команде довольно замаскировано.
От терминала:
mysql -uroot -p --default-character-set=utf8 database_name </database_path/database.sql
в терминальном типе
mysql -uroot -p1234; use databasename; source /path/filename.sql
Напрямую из var/www/html
mysql -u username -p database_name < /path/to/file.sql
Изнутри mysql:
mysql> use db_name;
mysql> source backup-file.sql
Обычно я использую эту команду для загрузки моих данных SQL при делении на файлы с именами: 000-tableA.sql, 001-tableB.sql, 002-tableC.sql.
for anyvar in *.sql; do <path to your bin>/mysql -u<username> -p<password> <database name> < $anyvar; done
Хорошо работает в оболочке OSX.
Пояснение:
Сначала создайте базу данных или используйте существующую базу данных. В моем случае я использую существующую базу данных
Загрузите базу данных, предоставив <name of database> = ClassicModels
в моем случае и используя оператор <
, укажите путь к database = sakila-data.sql
Запустив таблицы show, я получу список таблиц, как вы можете видеть.
Примечание. В моем случае я получил ошибку 1062, потому что я пытаюсь загрузить то же самое снова.
mysql -u username -ppassword dbname < /path/file-name.sql
Пример
mysql -u root -proot product < /home/myPC/Downloads/tbl_product.sql
Используйте это из терминала
Ниже команда работает над ubuntu 16.04, я не уверен, что она работает или не работает на других платформах Linux.
Экспорт файла SQL:
$ mysqldump -u [user_name] -p [database_name] < [database_name.sql]
Пример: mysqldump -u root -p max_development > max_development.sql
Импортировать файл SQL:
$ mysqldump -u [user_name] -p [database_name] > [file_name.sql]
Example: mysqldump -u root -p max_production < max_development.sql
Примечание. Файл SQL должен существовать в том же каталоге
Откройте клиент командной строки MySQL и введите свой пароль
Измените базу данных, которую вы хотите использовать для импорта данных файла .sql. Сделайте это, набрав:
USE your_database_name
Теперь найдите файл .sql, который вы хотите выполнить.
Если файл находится в основном локальном каталоге C: drive, а имя файла .sql script currentSqlTable.sql
, вы должны ввести следующее:
\. C:\currentSqlTable.sql
и нажмите Enter, чтобы выполнить файл SQL script.
После битвы на некоторое время я нашел информацию в https://tommcfarlin.com/importing-a-large-database/
Подключитесь к Mysql (используйте root для имени пользователя и пароля):
mysql -uroot -proot
Подключитесь к базе данных (предположим, что она называется emptyDatabase (ваше сообщение должно получить подтверждение):
connect emptyDatabase
3 Импортируйте исходный код, скажем, файл называется mySource.sql, и он находится в папке mySoureDb под профилем пользователя с именем myUser:
source /Users/myUser/mySourceDB/mySource.sql
Если вы используете sakila-db с сайта MySQL, Это очень легко на платформе Linux, просто следуйте приведенным ниже шагам. После загрузки zip файла sakila-db распакуйте его. Теперь у вас будет два файла: один - sakila-schema.sql, а другой - sakila-data.sql.
Пожалуйста, позаботьтесь о том, чтобы извлеченные файлы присутствовали в домашнем каталоге.
Тогда откройте терминал
mysql -u root -p
eg:- mysql -u shabeer -p
После этого создайте базу данных
mysql> create database "Name";
eg:- create database INVESTOR;
Затем выберите эту новую базу данных "ИНВЕСТОР"
mysql> USE INVESTOR;
Выберите путь к файлу sql с компьютера
mysql> source /home/shabeer/Desktop/new_file.sql;
Затем нажмите Enter и подождите несколько раз, если все это выполнится.
mysql> exit
В Ubuntu, из монитора MySQL, вы уже использовали этот синтаксис:
mysql> use <dbname>
- > Оператор USE говорит MySQL использовать dbname
как базу данных по умолчанию для последующих операторов
mysql> source <file-path>
, например:
mysql> use phonebook;
mysql> source /tmp/phonebook.sql;
Важно: убедитесь, что файл sql находится в каталоге, в котором mysql может получить доступ к, чтобы нравится/tmp
Перед запуском команд на терминале вы должны убедиться, что MySQL установлен на вашем терминале.
Для его установки вы можете использовать следующую команду:
sudo apt-get update
sudo apt-get install mysql-server
Refrence здесь.
После этого вы можете использовать следующие команды для импорта базы данных:
mysql -u <username> -p <databasename> < <filename.sql>
Самый простой способ импортировать базу данных в вашем MYSQL из терминала - это описанный ниже процесс.
mysql -u root -p root database_name < path to your .sql file
То, что я делаю выше, это:
root
& root
)<
и затем путь к вашему файлу .sql. Например, если мой файл хранится в Desktop, путь будет /home/Desktop/db.sql
Это. После того, как вы все это сделали, нажмите enter и подождите, пока ваш файл .sql будет загружен в соответствующую базу данных.
Между -p и паролем не должно быть пробела
mysql -u [dbusername] -p[dbpassword] [databasename] < /home/serverusername/public_html/restore_db/database_file.sql
Я всегда им пользуюсь, работает отлично. Спасибо, чтобы задать этот вопрос. Хорошего дня. Приятного просмотра :)