Respostas:
cat filename.sql | mysql -u username -p # type mysql password when asked for it
Onde filename.sql contém todo o sql para criar seu banco de dados. Ou...
echo "create database `database-name`" | mysql -u username -p
Se você realmente deseja apenas criar um banco de dados.
-u
bandeiras
Você quer dizer enquanto está no ambiente mysql?
create database testdb;
Ou diretamente da linha de comando:
mysql -u root -e "create database testdb";
Se você criar um novo banco de dados, é bom criar usuário com permissões apenas para esse banco de dados (se algo der errado, você não comprometerá o login e a senha do usuário root). Então, tudo junto ficará assim:
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'"
Onde:
base_user é o nome do usuário com todos os privilégios (provavelmente a raiz)
base_user_pass é a senha do base_user (falta de espaço entre -p e base_user_pass é importante)
new_db é o nome do banco de dados recém-criado
new_db_user é o nome do novo usuário com acesso somente para new_db
new_db_user_pass é a senha para new_db_user
-p"root password here"
funciona bem
mysqladmin -u$USER -p$PASSWORD create $DB_NAME
Substitua as variáveis acima e você poderá seguir este oneliner. $ USER é o nome de usuário, $ PASSWORD é a senha e $ DB_NAME é o nome do banco de dados.
O ist e a segunda resposta são bons, mas se alguém estiver procurando por um script ou se você quiser dinâmico, isto é (db / nome de usuário / senha na variável), então aqui:
#!/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'";
Você pode usar o SQL na linha de comando:
echo 'CREATE DATABASE dbname;' | mysql <...>
Ou você pode usar mysqladmin
:
mysqladmin create dbname
Conecte-se ao DB usando o usuário base:
mysql -u base_user -pbase_user_pass
e execute as instruções CREATE DATABASE, CREATE USER e GRANT PRIVILEGES.
Aqui está um prático assistente da Web para ajudá-lo com as declarações www.bugaco.com/helpers/create_database.html