Я ищу что-то вроде createdb в psql или любое другое решение, которое позволило бы мне создать базу данных с помощью команды оболочки. Любые подсказки?
Как создать базу данных из командной оболочки?
Ответ 1
cat filename.sql | mysql -u username -p # type mysql password when asked for it
Где filename.sql содержит все sql для создания вашей базы данных. Или...
echo "create database `database-name`" | mysql -u username -p
Если вы действительно хотите создать базу данных.
Ответ 2
Вы имеете в виду, когда среда mysql?
create database testdb;
Или непосредственно из командной строки:
mysql -u root -e "create database testdb";
Ответ 3
Если вы создаете новую базу данных, хорошо создать пользователя с разрешениями только для этой базы данных (если что-то пойдет не так, вы не станете жертвой входа и пароля пользователя root). Итак, все вместе будет выглядеть так:
mysql -u base_user -pbase_user_pass -e "create database new_db; GRANT ALL PRIVILEGES ON new_db.* TO [email protected] IDENTIFIED BY 'new_db_user_pass'"
Где:
base_user - это имя для пользователя со всеми привилегиями (возможно, с корнем)
base_user_pass это пароль для base_user (недостаточно места между -p и base_user_pass)
new_db - имя для вновь созданной базы данных
new_db_user - это имя для нового пользователя с доступом только для new_db
new_db_user_pass это пароль для new_db_user
Ответ 4
mysqladmin -u$USER -p$PASSWORD create $DB_NAME
Замените выше переменные, и вам хорошо пойти с этим oneliner. $ USER - это имя пользователя, $PASSWORD - это пароль, а $DB_NAME - это имя базы данных.
Ответ 5
Использование
$ mysqladmin -u <db_user_name> -p create <db_name>
Вам будет предложено ввести пароль. Также убедитесь, что пользователь mysql, который вы используете, имеет привилегии для создания базы данных.
Ответ 6
Вы можете использовать SQL в командной строке:
echo 'CREATE DATABASE dbname;' | mysql <...>
Или вы можете использовать mysqladmin
:
mysqladmin create dbname
Ответ 7
Ист и 2-й ответ хороши, но если кто-то ищет script или если вам нужен динамический i.e(db/username/password in variable), то здесь:
#!/bin/bash
DB="mydb"
USER="user1"
PASS="pass_bla"
mysql -uroot -prootpassword -e "CREATE DATABASE $DB CHARACTER SET utf8 COLLATE utf8_general_ci";
mysql -uroot -prootpassword -e "CREATE USER [email protected]'127.0.0.1' IDENTIFIED BY '$PASS'";
mysql -uroot -prootpassword -e "GRANT SELECT, INSERT, UPDATE ON $DB.* TO '$USER'@'127.0.0.1'";
Ответ 8
Подключение к базе данных с использованием базового пользователя:
mysql -u base_user -pbase_user_pass
И выполните инструкции CREATE DATABASE, CREATE USER и GRANT PRIVILEGES.
Здесь удобный веб-мастер, который поможет вам с инструкциями www.bugaco.com/helpers/create_database.html