Programming

쉘 명령에서 데이터베이스를 작성하는 방법은 무엇입니까?

procodes 2020. 6. 1. 20:54
반응형

쉘 명령에서 데이터베이스를 작성하는 방법은 무엇입니까?


PostgreSQL에서 createdb와 같은 것을 찾고 있거나 쉘 명령을 사용하여 데이터베이스를 만들 수있는 다른 솔루션을 찾고 있습니다. 힌트가 있습니까?


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

실제로 데이터베이스 만 작성하려는 경우.


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 의 비밀번호입니다.


mysqladmin -u$USER -p$PASSWORD create $DB_NAME

위의 변수를 바꾸면이 oneliner를 사용하는 것이 좋습니다. $ USER는 사용자 이름이고 $ PASSWORD는 암호이며 $ DB_NAME은 데이터베이스 이름입니다.


사용하다

$ mysqladmin -u <db_user_name> -p create <db_name>

비밀번호를 묻는 메시지가 나타납니다. 또한 사용하는 mysql 사용자에게 데이터베이스 작성 권한이 있는지 확인하십시오.


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에 대한 유용한 정보를 제공하는 편리한 웹 마법사는 다음과 같습니다.

참고 URL : https://stackoverflow.com/questions/2428416/how-to-create-a-database-from-shell-command

반응형