mysql_사용자_계정_생성

차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

양쪽 이전 판 이전 판
mysql_사용자_계정_생성 [2023/09/21 05:46] – [참조링크] koovmysql_사용자_계정_생성 [2024/12/12 10:29] (현재) koov
줄 1: 줄 1:
 ====== MySQL 사용자 계정 생성 ====== ====== MySQL 사용자 계정 생성 ======
  
 +===== MySQL 5 =====
 ''MySql5.7'' 까지만 하더라도 아래와 같이 계정 생성과 동시에 DB에 권한을 부여할 수 있었다. ''MySql5.7'' 까지만 하더라도 아래와 같이 계정 생성과 동시에 DB에 권한을 부여할 수 있었다.
  
줄 9: 줄 10:
 </code> </code>
 </WRAP> </WRAP>
 +
 +
 +===== MySQL 8 =====
  
 그러나 ''MySQL 8'' 에서는 해당 명령어가 동작하지 않고, 계정 생성과 DB 권한 부여를 각각 해줘야 한다. 그러나 ''MySQL 8'' 에서는 해당 명령어가 동작하지 않고, 계정 생성과 DB 권한 부여를 각각 해줘야 한다.
줄 20: 줄 24:
 </WRAP> </WRAP>
  
 +위 작업을 한방에 할 수 있도록 스크립트를 생성하면 아래와 같다.
 +<WRAP prewrap>
 +<code bash>
 +#!/bin/bash
  
 +# 사용법: ./script.sh username password
 +
 +# 사용자 입력 확인
 +if [ "$#" -ne 2 ]; then
 +    echo "Usage: $0 <username> <password>"
 +    exit 1
 +fi
 +
 +# 변수 설정
 +USERNAME=$1
 +PASSWORD=$2
 +DBNAME=$USERNAME
 +
 +# MySQL root 사용자 정보 (필요에 따라 수정)
 +MYSQL_ROOT_USER="root"
 +MYSQL_ROOT_PASS="u:>+wjfek0Iy"
 +
 +# MySQL 명령 실행
 +mysql -u $MYSQL_ROOT_USER -p$MYSQL_ROOT_PASS <<EOF
 +-- 데이터베이스 생성
 +CREATE DATABASE IF NOT EXISTS \`$DBNAME\`;
 +
 +-- 사용자 생성
 +CREATE USER IF NOT EXISTS '$USERNAME'@'%' IDENTIFIED BY '$PASSWORD';
 +
 +-- 권한 부여
 +GRANT ALL PRIVILEGES ON \`$DBNAME\`.* TO '$USERNAME'@'%';
 +
 +-- 권한 적용
 +FLUSH PRIVILEGES;
 +EOF
 +
 +if [ $? -eq 0 ]; then
 +    echo "Database '$DBNAME' and user '$USERNAME' created successfully with all privileges."
 +else
 +    echo "Failed to create database or user. Check your MySQL root credentials and settings."
 +    exit 1
 +fi
 +
 +</code>
 +</WRAP>
 ===== 참조링크 ===== ===== 참조링크 =====
   * https://hoing.io/archives/1253   * https://hoing.io/archives/1253
   * https://fruitdev.tistory.com/206   * https://fruitdev.tistory.com/206
  
  • mysql_사용자_계정_생성.1695275175.txt.gz
  • 마지막으로 수정됨: 2023/09/21 05:46
  • 저자 koov