사용자 계정으로 DB 생성하는 쉘프로그램인데요
인터넷에서 찾은건데... 잘 이해가 안되서요
제가 주석을 달아 놓았는데 이해안되는 부분하고 잘못된 부분이 있는지 지적좀 해주세요.
#!/bin/bash# $1 은 argument 값으로 사용자 계정 ID를 의미한다
# DB PASSWORD 를 지정하기위해 PASS 값을 입력받는다
echo -n "$1 -DB Passwd: "
read PASS# 사용자계정 ID 이름과 같은 DB 를 생성한다.
echo "create database $1;" > /tmp/useradd.sql# 이게 머하는건지 모르겟어요
echo "grant all privileges on $1.* to $1@localhost identified by '${PASS}';" >> /tmp/useradd.sql# mysql database 사용
echo "use mysql;" > /tmp/useradd.sql# 위에서 했는데 이거 왜 또 create 하는거죠?;;
echo "create database $1;" >> /tmp/useradd.sql# DB 유저 추가
echo "insert into user (Host,User,Password) values ('localhost','$1',password('${PASS}'));" >> /tmp/useradd.sql# DB 사용자 권한 지정
echo "insert into db values ('localhost','$1','$1','y','y','y','y','y','y','y','y','y','y');" >> /tmp/useradd.sql# 지금까지의 변경사항을 적용한다. /by jedi 님
echo "flush privileges;" >> /tmp/useradd.sql# 이것도 잘 이해가 안가요. mysql 에 접속하는거 같은데.. mysql < /tmp/useradd.sql 은 먼가요? 파이프도 없이..
mysql -u root -p비밀번호 mysql < /tmp/useradd.sql# useradd.sql 에 저장한 sql 쿼리를 실행한다.
mysql < /tmp/useradd.sql# useradd.sql 임시파일을 삭제한다.
rm -rf /tmp/useradd.sql
리로드는 flush privileges; 명령으로 대신하였군요.사용자
리로드는 flush privileges; 명령으로 대신하였군요.
사용자,암호등의 변경을 적용시켜주는 명령어죠.
+++ 여기부터는 서명입니다. +++
국가 기구의 존속을 위한 최소한의 세금만을 내고, 전체 인민들이 균등한 삶을
영위할 수 있는 착취가 없는 혁명의 그날은 언제나 올 것인가!
-- 조정래, <태백산맥> 중에서, 1986년
댓글 달기