답변:
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
실제로 데이터베이스 만 작성하려는 경우.
-u
깃발 이 있기 때문이다
mysql 환경을 의미합니까?
create database testdb;
또는 명령 줄에서 직접 :
mysql -u root -e "create database testdb";
새 데이터베이스를 작성하는 경우이 데이터베이스에 대해서만 권한이있는 사용자를 작성하는 것이 좋습니다 (문제가 발생하면 루트 사용자 로그인 및 비밀번호가 손상되지 않습니다). 따라서 모든 것이 다음과 같이 보입니다.
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'"
여기서
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 의 비밀번호입니다.
-p"root password here"
작품을 잘
ist와 두 번째 대답은 좋지만 누군가 스크립트를 찾고 있거나 동적 인 경우 (예 : 변수의 db / username / password) 다음은 여기입니다.
#!/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'";
명령 행에서 SQL 을 사용할 수 있습니다 .
echo 'CREATE DATABASE dbname;' | mysql <...>
또는 다음을 사용할 수 있습니다 mysqladmin
.
mysqladmin create dbname
기본 사용자를 사용하여 DB에 연결하십시오.
mysql -u base_user -pbase_user_pass
CREATE DATABASE, CREATE USER 및 GRANT PRIVILEGES 문을 실행하십시오.
www.bugaco.com/helpers/create_database.html에 대한 유용한 정보를 제공하는 편리한 웹 마법사는 다음과 같습니다.