Как создать базу данных из командной оболочки?

Я ищу что-то вроде 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