Antworten:
cat filename.sql | mysql -u username -p # type mysql password when asked for it
Wobei filename.sql die gesamte SQL enthält, um Ihre Datenbank zu erstellen. Oder...
echo "create database `database-name`" | mysql -u username -p
Wenn Sie wirklich nur eine Datenbank erstellen möchten.
-u
Flaggen gibt
Du meinst während der MySQL-Umgebung?
create database testdb;
Oder direkt von der Kommandozeile:
mysql -u root -e "create database testdb";
Wenn Sie eine neue Datenbank erstellen, empfiehlt es sich, Benutzer mit Berechtigungen nur für diese Datenbank zu erstellen (wenn etwas schief geht, werden die Anmeldung und das Kennwort des Root-Benutzers nicht beeinträchtigt). Also wird alles zusammen so aussehen:
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'"
Dabei gilt
Folgendes : base_user ist der Name für den Benutzer mit allen Berechtigungen (wahrscheinlich der Root).
Base_user_pass ist das Kennwort für base_user (Platzmangel zwischen -p und base_user_pass ist wichtig).
New_db ist der Name für die neu erstellte Datenbank.
New_db_user ist der Name für den neuen Benutzer mit Zugriff Nur für new_db
new_db_user_pass ist es das Passwort für new_db_user
-p"root password here"
funktioniert
mysqladmin -u$USER -p$PASSWORD create $DB_NAME
Ersetzen Sie die obigen Variablen und Sie können mit diesem Oneliner beginnen. $ USER ist der Benutzername, $ PASSWORD ist das Passwort und $ DB_NAME ist der Name der Datenbank.
Die ist und die zweite Antwort sind gut, aber wenn jemand nach einem Skript sucht oder wenn Sie dynamisch wollen, dh (Datenbank / Benutzername / Passwort in Variable), dann hier:
#!/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'";
Sie können SQL in der Befehlszeile verwenden:
echo 'CREATE DATABASE dbname;' | mysql <...>
Oder Sie können verwenden mysqladmin
:
mysqladmin create dbname
Eine Verbindung mit DB mit Basis Benutzer:
mysql -u base_user -pbase_user_pass
Und ausführen CREATE DATABASE, CREATE USER und GRANT PRIVILEGIEN Statements.
Hier ist ein praktischer Web-Assistent, der Ihnen bei den Anweisungen hilft: www.bugaco.com/helpers/create_database.html