우분투에 MySQL 설치 및 계정 설정하기

Seokwon Han·2021년 3월 25일
0

개발일지

목록 보기
7/7
post-thumbnail

이전 포스팅에서 AWS EC2에 우분투를 사용하는 인스턴스를 생성하고 Putty를 통해 접속하는것 까지 진행하였다.
이번엔 우분투에 MySQL을 설치하고 유저 생성과 권한 설정을 해본것에 대해 정리하려고 한다.

MySQL 설치 및 설정

먼저 PuTTY로 AWS EC2 인스턴스에 접속해준다.

apt-get, apt

apt-get은 데비안(Debian)계열의 리눅스에서 쓰이는 패키지 관리 도구이고, apt는 apt-get에서 필요한 것만 골라 만든 툴이다.
apt는 패키지 설치 시 프로그래스바를 보여주고 좀 더 사용자 친화적이지만 제한된 기능을 가지고있다는게 마음에 걸려 그냥 apt-get을 사용하기로 했다.

설치

먼저 apt-get을 업데이트 해주고 난 뒤에 mysql을 설치해야한다. 그리고 apt-get은 관리자 권한으로 실행해주어야 한다.

$ sudo apt-get update
$ sudo apt-get install mysql-server

외부접속 허용

/etc/mysql/mysql.conf.d 디렉토리에 있는 mysqld.cnf 파일을 수정해서
bind-address 값을 0.0.0.0으로 바꾸면 모든 접근을 허용하는것이고 특정 IP값으로 지정할 수도 있다.

$ cd /etc/mysql/mysql.conf.d
$ vi mysqld.cnf

사용자 계정 설정

$ mysql -u root -p

사용자 비밀번호 변경

root 계정으로 접속을 해준다. MySQL 5.7 이후 버전에서는 root 사용자는 auth_socket 플러그인으로 로그인되는게 기본설정이다. 따라서 비밀번호로 로그인하도록 바꾸기위해서는 플러그인 설정을 변경해주면 된다.

mysql> alter user 'root'@'localhost' identified with mysql_native_password by '비밀번호';
mysql> flush privileges; // 사용자 변경사항 적용
mysql> select user, authentication_string, plugin, host from mysql.user;

이제 비밀번호를 입력해야 root 사용자로 접속할 수 있다.

유저 생성

해당 쿼리를 통해 유저를 생성하고 권한을 부여할 수 있다.

mysql> create user '유저이름'@'%' identified by '비밀번호';
mysql> grant all privileges on *.* to '유저이름'@'%' with grant option;

유저이름 뒤에 '%'는 모든 호스트를 허용한다는 뜻이다. 이를 통해 외부 접속을 허용할 유저를 생성하게 된다. 로컬 호스트만 허용할 경우는 'localhost'를 입력한다.

테스트 접속

MySQL Workbench를 통해 테스트 접속을 해보았다.
처음에 접속이 되지 않아서 mysql을 재시작해주었더니 정상적으로 접속이 되었다.

$ sudo systemctl restart mysql

profile
개발하면서 새로 배우거나 경험한 내용을 정리하고 그 외의 공부한 내용을 기록하는 곳입니다.

0개의 댓글