Odpowiedzi:
cat filename.sql | mysql -u username -p # type mysql password when asked for it
Gdzie nazwa_pliku.sql przechowuje cały plik sql do utworzenia bazy danych. Lub...
echo "create database `database-name`" | mysql -u username -p
Jeśli naprawdę chcesz tylko utworzyć bazę danych.
-u
flagi
Masz na myśli, gdy środowisko mysql?
create database testdb;
Lub bezpośrednio z wiersza poleceń:
mysql -u root -e "create database testdb";
Jeśli tworzysz nową bazę danych, dobrze jest utworzyć użytkownika z uprawnieniami tylko do tej bazy danych (jeśli coś pójdzie nie tak, nie złamiesz loginu i hasła użytkownika root). Więc wszystko razem będzie wyglądać tak:
mysql -u base_user -pbase_user_pass -e "create database new_db; GRANT ALL PRIVILEGES ON new_db.* TO new_db_user@localhost IDENTIFIED BY 'new_db_user_pass'"
Gdzie:
base_user to nazwa użytkownika z wszystkimi uprawnieniami (prawdopodobnie root)
base_user_pass to hasło dla base_user (ważny jest brak spacji między -p i base_user_pass)
new_db to nazwa nowo utworzonej bazy danych
new_db_user to nazwa nowego użytkownika z dostępem tylko dla new_db
new_db_user_pass jest to hasło dla new_db_user
-p"root password here"
działa dobrze
Ist i druga odpowiedź są dobre, ale jeśli ktoś szuka skryptu lub jeśli chcesz dynamiczny, tj. (Db / nazwa użytkownika / hasło w zmiennej), to tutaj:
#!/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 $USER@'127.0.0.1' IDENTIFIED BY '$PASS'";
mysql -uroot -prootpassword -e "GRANT SELECT, INSERT, UPDATE ON $DB.* TO '$USER'@'127.0.0.1'";
Możesz użyć SQL w linii poleceń:
echo 'CREATE DATABASE dbname;' | mysql <...>
Lub możesz użyć mysqladmin
:
mysqladmin create dbname
Połącz się z bazą danych za pomocą podstawowego użytkownika:
mysql -u base_user -pbase_user_pass
i wykonaj instrukcje
CREATE DATABASE, CREATE USER i GRANT PRIVILEGES.
Oto przydatny kreator sieciowy, który pomoże Ci z wyciągami www.bugaco.com/helpers/create_database.html