Создание базы данных MySQL из командной строки

Я пытаюсь создать пакетный файл для создания базы данных MySQL. Пока что ни одна из информации, которую я нахожу, не работает. Просто для тестирования это то, что я пытаюсь...

C:\>mysql -uroot -ppassword < CREATE DATABASE testdb;
C:\>mysql -uroot -ppassword mysql < CREATE DATABASE testdb;

Независимо от того, как я выразился, я все время получаю сообщение об ошибке "Система не может найти указанный файл". Если я просто положил...

C:\>mysql -uroot -ppassword

Он отлично записывает в MySQL подсказки. Что я делаю неправильно?

Ответы

Ответ 1

Я согласен с другими плакатами, гораздо лучше поставить схему в файл. Однако здесь вы можете сделать это в командной строке:

mysql -uroot -ppassword -e "CREATE DATABASE testdb"

Ответ 2

acess как пользователь root:

mysql -u root -p

он запрашивает пароль.. введите пароль

то запустите команду create следующим образом:

mysql> create database database_name;

Ответ 3

Попробуйте добавить свой sql в текстовый файл, например 'createDb.sql', а затем запустите:

mysql -uroot -ppassword < createDb.sql; 

Ответ 4

Лучше написать MySQL в файле, а затем импортировать этот файл. Таким образом, когда вам нужно снова запустить его (переустановка или миграция), у вас есть запись о запуске MySQL. Код, который я использую для такого файла, выглядит следующим образом: он уничтожает все, что уже существует, а затем создает базу данных и назначает выделенного пользователя.

# uninstall if anything already there
GRANT ALL PRIVILEGES ON *.* TO 'username'@'%';
DROP USER 'username'@'%';
DROP DATABASE IF EXISTS `tablename`;

# create the user
CREATE USER 'username'@'%' IDENTIFIED BY 'password';
CREATE DATABASE IF NOT EXISTS `tablename`;
GRANT ALL PRIVILEGES ON `tablename` . * TO 'username'@'%';

Ответ 5

Он пытается прочитать в файле с именем create.