MySQL 유저 추가 및 삭제 스크립트
리눅스에서 계정 생성은 useradd 라는 명령어가 존재한다.
하지만 mysql은 따로 존재하지 않고 쿼리문으로 생성하거나 조금 번거롭게 추가해주어야 한다.
(create database, grant all privileges on ...)
그래서 쉘스크립트를 만들어서 사용하면 좀 더 편하게 생성 또는 삭제가 가능하다.
명령어가 어느 경로에서도 바로 사용할 수 있도록 우선 PATH 환경변수를 확인해보자.
[root@conoha bin]# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
/root/bin 폴더가 적당하겠다.
root 에 bin 폴더가 없다면 만들고 db_user_add, db_user_del 파일을 생성하자.
[root@conoha ~]# mkdir -m700 bin
[root@conoha ~]# touch /root/bin/db_user_add
[root@conoha ~]# touch /root/bin/db_user_del
[root@conoha ~]# chmod 700 /root/bin/db_user_add
[root@conoha ~]# chmod 700 /root/bin/db_user_del
#vi /root/bin/db_user_add 아래 내용으로 저장
#!/bin/sh
ROOT_ID='root'
ROOT_PW='루트암호'
USER_ID="$1"
USER_PW="$2"
if [ "$USER_ID" == "" ] ; then
echo "Input user id : "
read USER_ID
fi
if [ "$USER_PW" == "" ] ; then
echo "Input user password : "
read USER_PW
fi
mysql -u$ROOT_ID -p$ROOT_PW mysql -e "create database $USER_ID"
mysql -u$ROOT_ID -p$ROOT_PW mysql -e "grant all privileges on $USER_ID.* to '$USER_ID'@'localhost' identified by '$USER_PW'"
mysql -u$ROOT_ID -p$ROOT_PW mysql -e "grant all privileges on $USER_ID.* to '$USER_ID'@'%' identified by '$USER_PW'"
localhost 및 외부에서도 접근이 되는 권한이다.
외부에서 접속을 허용하지 않으려면 맨아래 부분을 막아주면 된다.
#vi /root/bin/db_user_del 아래 내용으로 저장
#!/bin/sh
ROOT_ID='root'
ROOT_PW='루트암호'
USER_ID="$1"
if [ "$USER_ID" == "" ] ; then
echo "Input user id : "
read USER_ID
fi
mysql -u$ROOT_ID -p$ROOT_PW mysql -e "drop user '$USER_ID'@'%'"
mysql -u$ROOT_ID -p$ROOT_PW mysql -e "drop user '$USER_ID'@'localhost'"
mysql -u$ROOT_ID -p$ROOT_PW mysql -e "drop database $USER_ID"
유저도 삭제하고 database 도 삭제하는 명령어다.
database 를 남기려면 맨 아랫줄은 막아주면 된다.
두개의 스크립트를 생성하였으니 이제 테스트 해보면 된다.
[root@conoha ~]# db_user_add testuser password123
[root@conoha ~]# db_user_del testuser
잘 되는지 확인하여야 한다.
스크립트에서 '루트암호' 는 mysql root 비밀번호를 적어주면 된다.
'LINUX' 카테고리의 다른 글
CentOS 7.x php 설치 후 설정해야 되는 부분들 (0) | 2016.04.26 |
---|---|
리눅스 파일 ZIP 압축 비밀번호 걸기 (0) | 2016.04.25 |
CentOS 7.x 특정IP대역에만 특정포트허용하기 (0) | 2016.04.22 |
CentOS 7.2 방화벽 ping 막기 (0) | 2016.04.21 |
리눅스 일정 주기로 서버 상태 체크하는 스크립트 (0) | 2016.04.20 |