Myo-Kyeong Tech Blog

[리눅스] MySQL 사용자 권한 부여 및 DB 생성 ( Ubuntu 22.04 ) 본문

리눅스

[리눅스] MySQL 사용자 권한 부여 및 DB 생성 ( Ubuntu 22.04 )

myo-kyeong 2023. 5. 2. 19:48
728x90
반응형

 

이전 글에서는 root 계정에서 MySQL을 설치하고 실행하는 방법을 알아보았습니다.

2023.04.24 - [리눅스] - [리눅스] MySQL 설치 및 실행하기

 

[리눅스] MySQL 설치 및 실행하기 ( Ubuntu 22.04 )

1. MySQL 설치하기 $ apt -y install mysql-server $ systemctl start mysqld $ mysql 2. MySQL 실행하기 # DB 생성 mysql> create database aDB; mysql> use aDB; #DB table 생성 mysql> create table Man( name char(20), age int); #table 데이터 insert my

data04190.tistory.com

 

실제로는 보안상의 이유로 보통 root계정을 사용하지 않습니다. 따라서 이번에는 사용자 계정을 만들어 MySQL을 실행하고 데이터베이스를 생성하는 방법에 대해 알아보겠습니다. 

 


 

1. MySQL 설치

apt -y update
apt -y mysql-server

우선,  사용자 계정으로 MySQL을 실행하기 위해서는 MySQL이 설치되어 있어야 합니다. 

 

 

2.  환경 설정

#사용자 계정 생성 기본값 설정
useradd -D -s /bin/bash

리눅스에서 새로운 사용자가 추가되면 기본 쉘이 bin/sh 으로 설정됩니다. 이 값을 SHELL=/bin/bash 으로 기본값을 변경합니다. 

 

$  vi  /etc/login.defs  파일 변경 

CREATE_HOME yes

 

cp ~/.vimrc /etc/skel/
  • /etc/skel/ : 새로운 사용자 계정을 생성할 때 그 계정의 기본 환경을 설정하는 디렉토리

반적으로 새로운 사용자 계정이 생성되면, 해당 계정의 홈디렉토리에는 아무런 파일이 존재하지 않습니다. 이럴 경우, 사용자가 처음부터 설정 파일을 만들어야 하기 때문에 자동으로 설정 파일을 복사하여 새로운 사용자가 바로 사용할 수 있도록 설정합니다. 

 

 

3.  사용자 추가

# 'gold' 사용자 추가
useradd gold

# 'gold' 비밀번호 설정
passwd gold

 

 

4.  root 계정에서 사용자 권한 부여

systemctl start mysql
mysql

#------------------MySQL -------------------------------------

# 작업할 데이터베이스 'mysql'로 변경
mysql> use mysql


#root 계정 암호를 'jj'로 변경
mysql> alter user 'root'@'localhost' identified
    -> with mysql_native_password by 'jj';
Query OK, 0 rows affected (0.01 sec)


#새로운 MySQL 사용자 'mygold'를 생성하고 암호를 'j'로 설정
mysql> create user mygold@localhost identified
    -> with mysql_native_password by 'j';
Query OK, 0 rows affected (0.02 sec)


#'mygold'사용자에게 'goldDB'데이터베이스의 모든 권한을 부여
mysql> grant all privileges on goldDB.* to mygold@localhost;
Query OK, 0 rows affected (0.01 sec)


#권한 적용을 위해 변경된 내용 즉시 적용.
mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec)

 

 

5.  사용자 계정에서 MySQL 실행 및 DB 생성

mysql -u mygold -p

# -------------MySQL 접속-------------------

# goldDB 데이터베이스 생성
mysql> create database goldDB;

# goldDB 데이터베이스 사용
mysql> use goldDB;

 

 

728x90
반응형