Ответ 1
Я согласен с другими плакатами, гораздо лучше поставить схему в файл. Однако здесь вы можете сделать это в командной строке:
mysql -uroot -ppassword -e "CREATE DATABASE testdb"
Я пытаюсь создать пакетный файл для создания базы данных MySQL. Пока что ни одна из информации, которую я нахожу, не работает. Просто для тестирования это то, что я пытаюсь...
C:\>mysql -uroot -ppassword < CREATE DATABASE testdb;
C:\>mysql -uroot -ppassword mysql < CREATE DATABASE testdb;
Независимо от того, как я выразился, я все время получаю сообщение об ошибке "Система не может найти указанный файл". Если я просто положил...
C:\>mysql -uroot -ppassword
Он отлично записывает в MySQL подсказки. Что я делаю неправильно?
Я согласен с другими плакатами, гораздо лучше поставить схему в файл. Однако здесь вы можете сделать это в командной строке:
mysql -uroot -ppassword -e "CREATE DATABASE testdb"
acess как пользователь root:
mysql -u root -p
он запрашивает пароль.. введите пароль
то запустите команду create следующим образом:
mysql> create database database_name;
Попробуйте добавить свой sql в текстовый файл, например 'createDb.sql', а затем запустите:
mysql -uroot -ppassword < createDb.sql;
Лучше написать 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'@'%';
Он пытается прочитать в файле с именем create.