Update setup_db.sh
This commit is contained in:
97
setup_db.sh
97
setup_db.sh
@ -1,87 +1,87 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
# Rocky Linux 9 LXC - MariaDB 설치 및 초기 설정
|
# Rocky Linux 9 LXC - MariaDB 설치 및 초기 설정
|
||||||
# root 계정에서 실행
|
# root 계정에서 실행
|
||||||
# 사용자/DB/비밀번호 모두 입력 방식
|
# Linux / DB 계정 통합 여부 선택 가능
|
||||||
|
# vimrc / bashrc는 git에서 다운로드
|
||||||
|
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
|
DOTFILES_BASE_URL="https://git.siane.kr/firstgarden/cafe24-testserver/main"
|
||||||
|
|
||||||
echo "=== LXC MariaDB 초기 세팅 시작 ==="
|
echo "=== LXC MariaDB 초기 세팅 시작 ==="
|
||||||
|
|
||||||
# -------------------------------------------------
|
# -------------------------------------------------
|
||||||
# 1. 사용자 입력
|
# 0. Timezone 설정
|
||||||
# -------------------------------------------------
|
# -------------------------------------------------
|
||||||
read -p "Linux 사용자 이름을 입력하세요: " LINUX_USER
|
timedatectl set-timezone Asia/Seoul
|
||||||
|
echo "Timezone set to Asia/Seoul"
|
||||||
|
|
||||||
|
# -------------------------------------------------
|
||||||
|
# 1. 필수 패키지 사전 설치
|
||||||
|
# -------------------------------------------------
|
||||||
|
dnf update -y
|
||||||
|
dnf install -y sudo vim wget curl
|
||||||
|
|
||||||
|
# -------------------------------------------------
|
||||||
|
# 2. Linux 사용자 정보 입력
|
||||||
|
# -------------------------------------------------
|
||||||
|
read -p "Linux 사용자 이름: " LINUX_USER
|
||||||
|
|
||||||
read -s -p "Linux 사용자 비밀번호: " LINUX_PW
|
read -s -p "Linux 사용자 비밀번호: " LINUX_PW
|
||||||
echo ""
|
echo ""
|
||||||
read -s -p "Linux 사용자 비밀번호 확인: " LINUX_PW_CONFIRM
|
read -s -p "Linux 사용자 비밀번호 확인: " LINUX_PW_CONFIRM
|
||||||
echo ""
|
echo ""
|
||||||
|
|
||||||
if [ "$LINUX_PW" != "$LINUX_PW_CONFIRM" ]; then
|
if [[ "$LINUX_PW" != "$LINUX_PW_CONFIRM" ]]; then
|
||||||
echo "Linux 사용자 비밀번호가 일치하지 않습니다."
|
echo "Linux 사용자 비밀번호가 일치하지 않습니다."
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
read -p "MariaDB DB 이름을 입력하세요: " DB_NAME
|
# -------------------------------------------------
|
||||||
read -p "MariaDB 사용자 이름을 입력하세요: " DB_USER
|
# 3. MariaDB 계정을 동일하게 사용할지 여부
|
||||||
|
# -------------------------------------------------
|
||||||
|
read -p "MariaDB 계정을 Linux 계정과 동일하게 사용할까요? (Y/n): " SAME_ACCOUNT
|
||||||
|
SAME_ACCOUNT=${SAME_ACCOUNT:-Y}
|
||||||
|
|
||||||
read -s -p "MariaDB 사용자 비밀번호: " DB_PW
|
if [[ "$SAME_ACCOUNT" =~ ^[Yy]$ ]]; then
|
||||||
echo ""
|
DB_USER="$LINUX_USER"
|
||||||
read -s -p "MariaDB 사용자 비밀번호 확인: " DB_PW_CONFIRM
|
DB_PW="$LINUX_PW"
|
||||||
echo ""
|
echo "→ DB 사용자/비밀번호를 Linux 계정과 동일하게 사용합니다."
|
||||||
|
else
|
||||||
|
read -p "MariaDB 사용자 이름: " DB_USER
|
||||||
|
read -s -p "MariaDB 사용자 비밀번호: " DB_PW
|
||||||
|
echo ""
|
||||||
|
read -s -p "MariaDB 사용자 비밀번호 확인: " DB_PW_CONFIRM
|
||||||
|
echo ""
|
||||||
|
|
||||||
if [ "$DB_PW" != "$DB_PW_CONFIRM" ]; then
|
if [[ "$DB_PW" != "$DB_PW_CONFIRM" ]]; then
|
||||||
echo "MariaDB 비밀번호가 일치하지 않습니다."
|
echo "MariaDB 비밀번호가 일치하지 않습니다."
|
||||||
exit 1
|
exit 1
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
read -p "MariaDB DB 이름: " DB_NAME
|
||||||
|
|
||||||
# -------------------------------------------------
|
# -------------------------------------------------
|
||||||
# 2. Linux 사용자 생성
|
# 4. Linux 사용자 생성
|
||||||
# -------------------------------------------------
|
# -------------------------------------------------
|
||||||
if ! id "$LINUX_USER" &>/dev/null; then
|
if ! id "$LINUX_USER" &>/dev/null; then
|
||||||
useradd -m -s /bin/bash "$LINUX_USER"
|
useradd -m -s /bin/bash "$LINUX_USER"
|
||||||
echo "$LINUX_USER:$LINUX_PW" | chpasswd
|
echo "$LINUX_USER:$LINUX_PW" | chpasswd
|
||||||
echo "Linux 사용자 $LINUX_USER 생성 완료"
|
echo "Linux 사용자 $LINUX_USER 생성 완료"
|
||||||
else
|
|
||||||
echo "Linux 사용자 $LINUX_USER 이미 존재"
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# sudo 권한
|
|
||||||
dnf install -y sudo
|
|
||||||
usermod -aG wheel "$LINUX_USER"
|
usermod -aG wheel "$LINUX_USER"
|
||||||
|
|
||||||
# -------------------------------------------------
|
|
||||||
# 3. 시스템 업데이트
|
|
||||||
# -------------------------------------------------
|
|
||||||
dnf update -y
|
|
||||||
|
|
||||||
# -------------------------------------------------
|
|
||||||
# 4. vim 설치 + visual mode 비활성화
|
|
||||||
# -------------------------------------------------
|
|
||||||
dnf install -y vim
|
|
||||||
|
|
||||||
USER_HOME="/home/$LINUX_USER"
|
USER_HOME="/home/$LINUX_USER"
|
||||||
|
|
||||||
cat > "$USER_HOME/.vimrc" <<EOF
|
|
||||||
set mouse=
|
|
||||||
EOF
|
|
||||||
|
|
||||||
chown "$LINUX_USER:$LINUX_USER" "$USER_HOME/.vimrc"
|
|
||||||
|
|
||||||
# -------------------------------------------------
|
# -------------------------------------------------
|
||||||
# 5. bashrc 설정 (VM과 동일)
|
# 5. vim / bash 설정 (git에서 다운로드)
|
||||||
# -------------------------------------------------
|
# -------------------------------------------------
|
||||||
cat >> "$USER_HOME/.bashrc" <<'EOF'
|
wget -qO "$USER_HOME/.vimrc" "$DOTFILES_BASE_URL/vimrc"
|
||||||
|
wget -qO "$USER_HOME/.bashrc" "$DOTFILES_BASE_URL/bashrc"
|
||||||
|
|
||||||
# --- Bash 가독성 설정 ---
|
chown "$LINUX_USER:$LINUX_USER" "$USER_HOME/.vimrc" "$USER_HOME/.bashrc"
|
||||||
export PS1='[\u@\h \W]\$ '
|
|
||||||
alias ll='ls -alF --color=auto'
|
|
||||||
alias la='ls -A --color=auto'
|
|
||||||
alias l='ls -CF --color=auto'
|
|
||||||
export HISTCONTROL=ignoreboth
|
|
||||||
EOF
|
|
||||||
|
|
||||||
chown "$LINUX_USER:$LINUX_USER" "$USER_HOME/.bashrc"
|
|
||||||
|
|
||||||
# -------------------------------------------------
|
# -------------------------------------------------
|
||||||
# 6. MariaDB 10.6 설치
|
# 6. MariaDB 10.6 설치
|
||||||
@ -114,9 +114,7 @@ CREATE DATABASE IF NOT EXISTS \`${DB_NAME}\`
|
|||||||
COLLATE utf8mb4_unicode_ci;
|
COLLATE utf8mb4_unicode_ci;
|
||||||
|
|
||||||
CREATE USER IF NOT EXISTS '${DB_USER}'@'%' IDENTIFIED BY '${DB_PW}';
|
CREATE USER IF NOT EXISTS '${DB_USER}'@'%' IDENTIFIED BY '${DB_PW}';
|
||||||
|
|
||||||
GRANT ALL PRIVILEGES ON \`${DB_NAME}\`.* TO '${DB_USER}'@'%';
|
GRANT ALL PRIVILEGES ON \`${DB_NAME}\`.* TO '${DB_USER}'@'%';
|
||||||
|
|
||||||
FLUSH PRIVILEGES;
|
FLUSH PRIVILEGES;
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
@ -131,10 +129,9 @@ EOF
|
|||||||
|
|
||||||
echo ""
|
echo ""
|
||||||
echo "=== LXC MariaDB 설정 완료 ==="
|
echo "=== LXC MariaDB 설정 완료 ==="
|
||||||
echo ""
|
|
||||||
echo "Linux 사용자 : $LINUX_USER (sudo 가능)"
|
echo "Linux 사용자 : $LINUX_USER (sudo 가능)"
|
||||||
echo "DB 이름 : $DB_NAME"
|
echo "DB 이름 : $DB_NAME"
|
||||||
echo "DB 사용자 : $DB_USER"
|
echo "DB 사용자 : $DB_USER"
|
||||||
echo ""
|
echo ""
|
||||||
echo "VM 접속 예시:"
|
echo "접속 예시:"
|
||||||
echo " mysql -h <LXC_IP> -u $DB_USER -p $DB_NAME"
|
echo "mysql -h <LXC_IP> -u $DB_USER -p $DB_NAME"
|
||||||
|
|||||||
Reference in New Issue
Block a user