Update lxc/setup_mariadb.sh

This commit is contained in:
2025-12-23 17:47:59 +09:00
parent 2ce39c3120
commit bdc254cfd0

View File

@ -1,22 +1,20 @@
#!/bin/bash
# Rocky Linux 9 LXC - MariaDB 설치 및 초기 설정
# 오류 발생 시 초기화 옵션 제공, 중복 사용자 처리 포함
# Rocky Linux 9 LXC - MariaDB 10.6.5 설치 및 초기 설정 (고정 버전)
# 서비스 서버(호스팅)와 동일한 DB 환경 재현 목적
# root 계정에서 실행
# Linux / DB 계정 통합 여부 선택 가능
# dotfiles는 git에서 다운로드
# 파이프 실행 지원 (curl | bash)
# curl | bash 실행 지원
set -euo pipefail
# dotfiles 저장소
DOTFILES_BASE_URL="https://git.siane.kr/firstgarden/cafe24-testserver/raw/branch/main"
# 전역 변수
LINUX_USER=""
DB_USER=""
DB_NAME=""
# 터미널 입력 헬퍼 함수
# curl | bash로 실행할 때 /dev/tty에서 입력을 받도록 함
############################################
# 입력 헬퍼 (pipe 대응)
############################################
read_input() {
local prompt="$1"
local var_name="$2"
@ -30,452 +28,183 @@ read_input() {
fi
}
# 오류 처리 및 초기화 함수
############################################
# 오류 발생 시 정리
############################################
cleanup() {
EXIT_CODE=$?
if [ $EXIT_CODE -ne 0 ]; then
echo ""
echo "❌ 설정 중 에러 발생 ($EXIT_CODE)"
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo ""
echo "선택 사항:"
echo " 1) Linux/DB 사용자만 정리하고 다시 시작"
echo " 2) MariaDB 완전 제거 후 다시 시작 (권장)"
echo " 3) 취소"
echo ""
read_input "선택 (1, 2 또는 3): " CLEANUP_OPTION
CLEANUP_OPTION=${CLEANUP_OPTION:-3}
case $CLEANUP_OPTION in
2)
echo "MariaDB를 완전히 제거합니다..."
systemctl stop mariadb 2>/dev/null || true
dnf remove -y mariadb-server 2>/dev/null || true
rm -rf /var/lib/mysql /etc/my.cnf.d/50-server.cnf 2>/dev/null || true
echo "✓ MariaDB 완전 제거 완료"
# LINUX_USER가 설정되어 있으면 Linux 사용자/DB 사용자 정리
if [ -n "$LINUX_USER" ]; then
if [ -n "$DB_USER" ]; then
echo "⚠️ MariaDB 사용자 '$DB_USER' 정리 (수동으로 필요할 수 있음)"
fi
if id "$LINUX_USER" &>/dev/null; then
userdel -r "$LINUX_USER" 2>/dev/null || userdel "$LINUX_USER" 2>/dev/null || true
echo "✓ Linux 사용자 '$LINUX_USER' 삭제 완료"
fi
fi
echo ""
echo "초기화가 완료되었습니다. 스크립트를 다시 실행하세요."
;;
1)
echo ""
echo "⚠️ Linux/DB 사용자를 정리합니다..."
if [ -n "$LINUX_USER" ]; then
if id "$LINUX_USER" &>/dev/null; then
userdel -r "$LINUX_USER" 2>/dev/null || userdel "$LINUX_USER" 2>/dev/null || true
echo "✓ Linux 사용자 '$LINUX_USER' 삭제 완료"
fi
fi
echo ""
echo "초기화가 완료되었습니다. 스크립트를 다시 실행하세요."
;;
*)
echo "정리를 건너뜁니다. 수동으로 정리 후 다시 진행하세요."
;;
esac
echo "❌ 설정 중 오류 발생 ($EXIT_CODE)"
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo "MariaDB / 사용자 상태를 확인하세요."
fi
exit $EXIT_CODE
}
trap cleanup EXIT
echo "=== LXC MariaDB 초기 세팅 시작 ==="
echo "=== Rocky Linux 9 LXC - MariaDB 10.6.5 고정 설치 시작 ==="
echo ""
# -------------------------------------------------
# 0. Timezone 설정
# -------------------------------------------------
############################################
# 0. Timezone
############################################
timedatectl set-timezone Asia/Seoul
echo "✓ Timezone: Asia/Seoul"
echo "✓ Timezone 설정 완료"
# -------------------------------------------------
# 1. 필수 패키지 사전 설치
# -------------------------------------------------
echo "필수 패키지 설치 중..."
dnf update -y > /dev/null 2>&1 || { echo "❌ dnf update 실패"; exit 1; }
dnf install -y sudo vim wget curl mariadb-server > /dev/null 2>&1 || { echo "❌ 필수 패키지 설치 실패"; exit 1; }
echo "✓ 필수 패키지 설치 완료"
############################################
# 1. 필수 패키지
############################################
dnf update -y
dnf install -y sudo vim wget curl policycoreutils-python-utils
# -------------------------------------------------
# 2. Linux 사용자 정보 입력
# -------------------------------------------------
############################################
# 2. Linux 사용자
############################################
read_input "Linux 사용자 이름: " LINUX_USER
# 사용자 존재 확인 및 재생성 옵션
if id "$LINUX_USER" &>/dev/null; then
echo "⚠️ 사용자 '$LINUX_USER'이(가) 이미 존재합니다."
echo ""
echo "선택 사항:"
echo " 1) 기존 사용자 사용 (비밀번호는 변경하지 않음)"
echo " 2) 사용자 삭제 후 재생성 (홈 디렉토리 포함 삭제)"
echo ""
read_input "선택 (1 또는 2): " USER_ACTION
case $USER_ACTION in
2)
read_input "정말로 '$LINUX_USER'을(를) 삭제하고 재생성하시겠습니까? (y/n): " CONFIRM
if [[ "$CONFIRM" =~ ^[Yy]$ ]]; then
echo "사용자 삭제 중..."
userdel -r "$LINUX_USER" 2>/dev/null || userdel "$LINUX_USER" 2>/dev/null || true
echo "✓ 사용자 '$LINUX_USER' 삭제 완료"
# 새 비밀번호 입력 (재시도 옵션)
if ! id "$LINUX_USER" &>/dev/null; then
while true; do
read -s -p "새로운 Linux 사용자 비밀번호: " LINUX_PW < /dev/tty
echo ""
# 비밀번호 입력 확인
if [ -z "$LINUX_PW" ]; then
echo "❌ 비밀번호를 입력해주세요 (빈 문자열 불가)."
continue
fi
read -s -p "Linux 사용자 비밀번호 확인: " LINUX_PW_CONFIRM < /dev/tty
echo ""
if [[ "$LINUX_PW" != "$LINUX_PW_CONFIRM" ]]; then
echo "❌ Linux 사용자 비밀번호가 일치하지 않습니다."
read -p "다시 입력하시겠습니까? (Y/n): " RETRY_PW_2 < /dev/tty
RETRY_PW_2=${RETRY_PW_2:-N}
if [[ ! "$RETRY_PW_2" =~ ^[Yy]$ ]]; then
echo "비밀번호 입력을 취소했습니다."
exit 1
fi
else
break
fi
read_input "Linux 사용자 비밀번호: " LINUX_PW true
read_input "비밀번호 확인: " LINUX_PW_CONFIRM true
[ "$LINUX_PW" = "$LINUX_PW_CONFIRM" ] && break
echo "❌ 비밀번호 불일치"
done
CREATE_USER=true
else
echo "❌ 사용자 삭제를 취소했습니다. 다른 사용자명을 입력하세요."
exit 1
fi
;;
1|*)
echo " 기존 사용자를 사용합니다: $LINUX_USER"
CREATE_USER=false
LINUX_PW=""
;;
esac
useradd -m -s /bin/bash "$LINUX_USER"
echo "$LINUX_USER:$LINUX_PW" | chpasswd
usermod -aG wheel "$LINUX_USER"
echo "✓ Linux 사용자 생성 완료"
else
# 새 사용자 생성 (비밀번호 입력)
while true; do
read -s -p "Linux 사용자 비밀번호: " LINUX_PW < /dev/tty
echo ""
# 비밀번호 입력 확인
if [ -z "$LINUX_PW" ]; then
echo "❌ 비밀번호를 입력해주세요 (빈 문자열 불가)."
continue
fi
read -s -p "Linux 사용자 비밀번호 확인: " LINUX_PW_CONFIRM < /dev/tty
echo ""
if [[ "$LINUX_PW" != "$LINUX_PW_CONFIRM" ]]; then
echo "❌ Linux 사용자 비밀번호가 일치하지 않습니다."
read -p "다시 입력하시겠습니까? (Y/n): " RETRY_PW < /dev/tty
RETRY_PW=${RETRY_PW:-N}
if [[ ! "$RETRY_PW" =~ ^[Yy]$ ]]; then
echo ""
read -p "스크립트를 다시 시작하시겠습니까? (Y/n): " RESTART_SCRIPT < /dev/tty
RESTART_SCRIPT=${RESTART_SCRIPT:-N}
if [[ "$RESTART_SCRIPT" =~ ^[Yy]$ ]]; then
exit 1
else
echo "스크립트를 취소합니다."
exit 0
fi
fi
else
break
fi
done
CREATE_USER=true
echo " 기존 Linux 사용자 사용: $LINUX_USER"
fi
# MariaDB 계정 설정
read -p "MariaDB 계정을 Linux 계정과 동일하게 사용할까요? (Y/n): " SAME_ACCOUNT < /dev/tty
############################################
# 3. DB 계정 설정
############################################
read_input "MariaDB 계정을 Linux 계정과 동일하게 사용할까요? (Y/n): " SAME_ACCOUNT
SAME_ACCOUNT=${SAME_ACCOUNT:-Y}
if [[ "$SAME_ACCOUNT" =~ ^[Yy]$ ]]; then
DB_USER="$LINUX_USER"
if [ "$CREATE_USER" = true ]; then
DB_PW="$LINUX_PW"
else
# 기존 사용자의 경우 비밀번호 입력
while true; do
read -s -p "MariaDB 비밀번호: " DB_PW < /dev/tty
echo ""
# 비밀번호 입력 확인
if [ -z "$DB_PW" ]; then
echo "❌ 비밀번호를 입력해주세요 (빈 문자열 불가)."
continue
fi
read -s -p "MariaDB 비밀번호 확인: " DB_PW_CONFIRM < /dev/tty
echo ""
if [[ "$DB_PW" != "$DB_PW_CONFIRM" ]]; then
echo "❌ MariaDB 비밀번호가 일치하지 않습니다."
read -p "다시 입력하시겠습니까? (Y/n): " RETRY_DB_PW < /dev/tty
RETRY_DB_PW=${RETRY_DB_PW:-N}
if [[ ! "$RETRY_DB_PW" =~ ^[Yy]$ ]]; then
echo ""
read -p "스크립트를 다시 시작하시겠습니까? (Y/n): " RESTART_SCRIPT2 < /dev/tty
RESTART_SCRIPT2=${RESTART_SCRIPT2:-N}
if [[ "$RESTART_SCRIPT2" =~ ^[Yy]$ ]]; then
exit 1
else
echo "스크립트를 취소합니다."
exit 0
fi
fi
else
break
fi
done
fi
echo "→ DB 사용자/비밀번호를 Linux 계정과 동일하게 사용합니다."
else
read -p "MariaDB 사용자 이름: " DB_USER < /dev/tty
# MariaDB 사용자 비밀번호 입력 (재시도 옵션)
read_input "MariaDB 사용자 이름: " DB_USER
while true; do
read -s -p "MariaDB 사용자 비밀번호: " DB_PW < /dev/tty
echo ""
# 비밀번호 입력 확인
if [ -z "$DB_PW" ]; then
echo "❌ 비밀번호를 입력해주세요 (빈 문자열 불가)."
continue
fi
read -s -p "MariaDB 사용자 비밀번호 확인: " DB_PW_CONFIRM < /dev/tty
echo ""
if [[ "$DB_PW" != "$DB_PW_CONFIRM" ]]; then
echo "❌ MariaDB 비밀번호가 일치하지 않습니다."
read -p "다시 입력하시겠습니까? (Y/n): " RETRY_DB_PW2 < /dev/tty
RETRY_DB_PW2=${RETRY_DB_PW2:-N}
if [[ ! "$RETRY_DB_PW2" =~ ^[Yy]$ ]]; then
echo ""
read -p "스크립트를 다시 시작하시겠습니까? (Y/n): " RESTART_SCRIPT3 < /dev/tty
RESTART_SCRIPT3=${RESTART_SCRIPT3:-N}
if [[ "$RESTART_SCRIPT3" =~ ^[Yy]$ ]]; then
exit 1
else
echo "스크립트를 취소합니다."
exit 0
fi
fi
else
break
fi
read_input "MariaDB 비밀번호: " DB_PW true
read_input "비밀번호 확인: " DB_PW_CONFIRM true
[ "$DB_PW" = "$DB_PW_CONFIRM" ] && break
echo "❌ 비밀번호 불일치"
done
fi
# MariaDB DB 이름을 사용자 이름과 동일하게 설정
DB_NAME="$DB_USER"
echo ""
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo "설정 요약:"
echo " Linux 사용자: $LINUX_USER"
echo " MariaDB 사용자: $DB_USER"
echo " MariaDB DB: $DB_NAME (사용자와 동일)"
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo ""
# -------------------------------------------------
# 4. Linux 사용자 생성
# -------------------------------------------------
if [ "$CREATE_USER" = true ]; then
if id "$LINUX_USER" &>/dev/null; then
echo "⚠️ 사용자 '$LINUX_USER'이(가) 이미 존재합니다 (생성 건너뜀)"
else
echo "Linux 사용자 생성 중..."
useradd -m -s /bin/bash "$LINUX_USER" || { echo "❌ 사용자 생성 실패"; exit 1; }
echo "$LINUX_USER:$LINUX_PW" | chpasswd || { echo "❌ 비밀번호 설정 실패"; exit 1; }
echo "✓ Linux 사용자 $LINUX_USER 생성 완료"
fi
fi
# wheel 그룹 추가 (이미 포함된 경우 무시)
usermod -aG wheel "$LINUX_USER" 2>/dev/null || true
############################################
# 4. dotfiles
############################################
USER_HOME="/home/$LINUX_USER"
mkdir -p "$USER_HOME"
# -------------------------------------------------
# 5. dotfiles 다운로드 (git에서)
# -------------------------------------------------
echo "dotfiles 다운로드 중..."
if ! mkdir -p "$USER_HOME"; then
echo "❌ 홈 디렉토리 생성 실패: $USER_HOME"
curl -fsSL -o "$USER_HOME/.vimrc" "$DOTFILES_BASE_URL/dotfiles/vimrc" || true
curl -fsSL -o "/tmp/.bashrc_addon" "$DOTFILES_BASE_URL/dotfiles/bashrc_addon" || true
if [ -f /tmp/.bashrc_addon ]; then
cat /tmp/.bashrc_addon >> "$USER_HOME/.bashrc"
rm -f /tmp/.bashrc_addon
fi
chown -R "$LINUX_USER:$LINUX_USER" "$USER_HOME"
############################################
# 5. MariaDB 10.6.5 설치 (Archive Repo)
############################################
echo ""
echo "▶ MariaDB 10.6.5 설치 중 (Archive Repo 고정)"
# Rocky AppStream 완전 차단
dnf module disable mariadb -y || true
dnf remove -y mariadb mariadb-server mariadb-libs 2>/dev/null || true
cat > /etc/yum.repos.d/MariaDB.repo <<'EOF'
[mariadb]
name = MariaDB 10.6.5 Archive
baseurl = https://archive.mariadb.org/mariadb-10.6.5/yum/rocky9-amd64/
gpgkey = https://archive.mariadb.org/PublicKey
gpgcheck = 1
enabled = 1
EOF
dnf clean all
dnf makecache
dnf install -y MariaDB-server MariaDB-client
systemctl enable --now mariadb
############################################
# 6. 버전 검증 (중요)
############################################
MYSQL_VER=$(mysql --version)
echo "설치된 버전: $MYSQL_VER"
if ! echo "$MYSQL_VER" | grep -q "10.6.5-MariaDB"; then
echo "❌ MariaDB 10.6.5가 아닙니다. 중단합니다."
exit 1
fi
# .vimrc 다운로드 (기존 백업)
if [ -f "$USER_HOME/.vimrc" ]; then
cp "$USER_HOME/.vimrc" "$USER_HOME/.vimrc.bak"
fi
curl -fsSL -o "$USER_HOME/.vimrc" "$DOTFILES_BASE_URL/dotfiles/vimrc" 2>/dev/null || echo "⚠️ .vimrc 다운로드 실패"
# .bashrc_addon 다운로드
if curl -fsSL -o "/tmp/.bashrc_addon" "$DOTFILES_BASE_URL/dotfiles/bashrc_addon" 2>/dev/null; then
# 기존 .bashrc 백업
if [ -f "$USER_HOME/.bashrc" ]; then
cp "$USER_HOME/.bashrc" "$USER_HOME/.bashrc.bak"
fi
# 중복 추가 방지: 기존 설정에서 addon 제거 후 다시 추가
if [ -f "$USER_HOME/.bashrc" ]; then
grep -v "$(head -1 /tmp/.bashrc_addon 2>/dev/null || echo 'NEVER_MATCH')" "$USER_HOME/.bashrc" > "$USER_HOME/.bashrc.tmp" 2>/dev/null || cp "$USER_HOME/.bashrc" "$USER_HOME/.bashrc.tmp"
mv "$USER_HOME/.bashrc.tmp" "$USER_HOME/.bashrc"
fi
cat "/tmp/.bashrc_addon" >> "$USER_HOME/.bashrc"
rm "/tmp/.bashrc_addon"
echo "✓ Bash 설정 병합 완료"
else
echo "⚠️ .bashrc_addon 다운로드 실패"
fi
chown "$LINUX_USER:$LINUX_USER" "$USER_HOME/.vimrc" "$USER_HOME/.bashrc" 2>/dev/null || true
# -------------------------------------------------
# 6. MariaDB 10.6 설치
# -------------------------------------------------
echo "MariaDB 10.6 설치 중..."
dnf module reset mariadb -y 2>/dev/null || true
# MariaDB 모듈 활성화 (실패 시 일반 설치 시도)
if ! dnf module enable mariadb:10.6 -y 2>/dev/null; then
echo "⚠️ MariaDB 10.6 모듈이 없습니다. 기본 MariaDB를 설치합니다..."
fi
dnf install -y mariadb-server || { echo "❌ MariaDB 설치 실패"; exit 1; }
systemctl enable --now mariadb || { echo "❌ MariaDB 서비스 활성화 실패"; exit 1; }
echo "✓ MariaDB 서비스 활성화 완료"
# MariaDB 실행 대기
sleep 2
if ! systemctl is-active --quiet mariadb; then
echo "❌ MariaDB 서비스가 실행 중이 아닙니다"
systemctl status mariadb
exit 1
fi
# -------------------------------------------------
############################################
# 7. MariaDB 보안 초기화
# -------------------------------------------------
echo "MariaDB 보안 초기화 중..."
mysql -u root <<MYSQL_INIT
############################################
mysql -u root <<EOF
DELETE FROM mysql.user WHERE User='';
DELETE FROM mysql.user WHERE User='root' AND Host NOT IN ('localhost', '127.0.0.1', '::1');
DELETE FROM mysql.user WHERE User='root' AND Host NOT IN ('localhost','127.0.0.1','::1');
DROP DATABASE IF EXISTS test;
DELETE FROM mysql.db WHERE Db='test' OR Db='test\\_%';
DELETE FROM mysql.db WHERE Db LIKE 'test%';
FLUSH PRIVILEGES;
MYSQL_INIT
EOF
echo "✓ MariaDB 보안 초기화 완료"
############################################
# 8. DB / 사용자 생성
############################################
mysql -u root <<EOF
CREATE DATABASE IF NOT EXISTS \`$DB_NAME\`
CHARACTER SET utf8mb4
COLLATE utf8mb4_unicode_ci;
# -------------------------------------------------
# 8. DB 사용자 및 데이터베이스 생성
# -------------------------------------------------
echo "DB 사용자 및 데이터베이스 생성 중..."
CREATE USER IF NOT EXISTS '$DB_USER'@'%' IDENTIFIED BY '$DB_PW';
CREATE USER IF NOT EXISTS '$DB_USER'@'localhost' IDENTIFIED BY '$DB_PW';
# 기존 사용자 확인
EXISTING_USER=$(mysql -u root -se "SELECT COUNT(*) FROM mysql.user WHERE User='$DB_USER';" 2>/dev/null || echo 0)
GRANT ALL PRIVILEGES ON \`$DB_NAME\`.* TO '$DB_USER'@'%';
GRANT ALL PRIVILEGES ON \`$DB_NAME\`.* TO '$DB_USER'@'localhost';
if [ "$EXISTING_USER" -gt 0 ]; then
echo "⚠️ DB 사용자 '$DB_USER'이(가) 이미 존재합니다."
read -p "기존 사용자의 비밀번호를 변경하시겠습니까? (Y/n): " UPDATE_PW < /dev/tty
UPDATE_PW=${UPDATE_PW:-N}
if [[ "$UPDATE_PW" =~ ^[Yy]$ ]]; then
mysql -u root <<MYSQL_UPDATE
ALTER USER '$DB_USER'@'%' IDENTIFIED BY '$DB_PW';
FLUSH PRIVILEGES;
MYSQL_UPDATE
echo "✓ 비밀번호 업데이트 완료"
fi
else
mysql -u root <<MYSQL_CREATE
CREATE USER '$DB_USER'@'%' IDENTIFIED BY '$DB_PW';
GRANT ALL PRIVILEGES ON $DB_NAME.* TO '$DB_USER'@'%';
CREATE DATABASE IF NOT EXISTS $DB_NAME CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
FLUSH PRIVILEGES;
MYSQL_CREATE
echo "✓ DB 사용자 및 데이터베이스 생성 완료"
fi
# -------------------------------------------------
# 9. MariaDB 외부 접속 허용 설정
# -------------------------------------------------
echo "MariaDB 외부 접속 허용 설정 중..."
# 기존 설정 파일 백업
if [ -f /etc/my.cnf.d/50-server.cnf ]; then
cp /etc/my.cnf.d/50-server.cnf /etc/my.cnf.d/50-server.cnf.bak
echo " 기존 설정을 백업했습니다"
fi
EOF
############################################
# 9. MariaDB 설정 (서비스 서버 호환)
############################################
cat > /etc/my.cnf.d/50-server.cnf <<EOF
[mysqld]
bind-address = 0.0.0.0
port = 3306
max_connections = 100
sql_mode=
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
EOF
systemctl restart mariadb || { echo "❌ MariaDB 재시작 실패"; exit 1; }
echo "✓ MariaDB 외부 접속 허용 설정 완료"
systemctl restart mariadb
# -------------------------------------------------
# 10. Firewall 설정 (3306 포트 개방)
# -------------------------------------------------
echo "Firewall 설정 중..."
systemctl enable firewalld 2>/dev/null || true
systemctl start firewalld 2>/dev/null || true
firewall-cmd --permanent --add-port=3306/tcp 2>/dev/null || echo "⚠️ Firewall 설정 실패 (선택사항)"
firewall-cmd --reload 2>/dev/null || true
echo "✓ Firewall 설정 완료"
# -------------------------------------------------
# 11. 최종 확인 및 완료 메시지
# -------------------------------------------------
############################################
# 10. 완료
############################################
echo ""
echo "=== 최종 상태 확인 중... ==="
if ! systemctl is-active --quiet mariadb; then
echo "❌ MariaDB 서비스가 실행 중이 아닙니다"
exit 1
fi
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo "✅ MariaDB 10.6.5 설치 및 설정 완료"
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo "Linux 사용자 : $LINUX_USER"
echo "DB 사용자 : $DB_USER"
echo "DB 이름 : $DB_NAME"
echo "MariaDB 버전 : 10.6.5 (고정)"
echo ""
echo "✅ MariaDB 설정 완료!"
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo "Linux 사용자: $LINUX_USER"
echo "DB 사용자: $DB_USER"
echo "DB 이름: $DB_NAME"
echo "바인드 주소: 0.0.0.0 (모든 인터페이스)"
echo "포트: 3306"
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo ""
echo "📋 VM에서 연결 문자열:"
echo "접속 예시:"
echo " mysql -h <LXC_IP> -u $DB_USER -p"
echo ""
echo "📝 LXC IP 확인 (Proxmox에서):"
echo " pct exec 201 ip addr show eth0 | grep inet"