Respuestas:
cat filename.sql | mysql -u username -p # type mysql password when asked for it
Donde filename.sql contiene todos los sql para crear su base de datos. O...
echo "create database `database-name`" | mysql -u username -p
Si realmente solo quieres crear una base de datos.
-u
banderas
¿Te refieres al entorno mysql?
create database testdb;
O directamente desde la línea de comando:
mysql -u root -e "create database testdb";
Si crea una nueva base de datos, es bueno crear usuarios con permisos solo para esta base de datos (si algo sale mal, no comprometerá el inicio de sesión y la contraseña del usuario raíz). Entonces todo junto se verá así:
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'"
Donde:
base_user es el nombre del usuario con todos los privilegios (probablemente la raíz)
base_user_pass es la contraseña para base_user (la falta de espacio entre -p y base_user_pass es importante)
new_db es el nombre de la base de datos recién creada
new_db_user es el nombre del nuevo usuario con acceso solo para new_db
new_db_user_pass es la contraseña para new_db_user
-p"root password here"
funciona bien
mysqladmin -u$USER -p$PASSWORD create $DB_NAME
Reemplace las variables anteriores y ya está listo para usar esta línea. $ USER es el nombre de usuario, $ PASSWORD es la contraseña y $ DB_NAME es el nombre de la base de datos.
El ist y la segunda respuesta son buenas, pero si alguien está buscando tener un script o si desea dinámico, es decir (db / nombre de usuario / contraseña en variable), aquí:
#!/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'";
Puede usar SQL en la línea de comando:
echo 'CREATE DATABASE dbname;' | mysql <...>
O puedes usar mysqladmin
:
mysqladmin create dbname
Conéctese a la base de datos utilizando el usuario base:
mysql -u base_user -pbase_user_pass
y ejecute CREATE DATABASE, CREATE USER y GRANT PRIVILEGES Statements.
Aquí hay un útil asistente web para ayudarlo con las declaraciones www.bugaco.com/helpers/create_database.html