본문 바로가기

IT이야기/ubuntu

ubuntu 18.04 mysql 설치 및 기본 셋팅

$ lsb_release -a

No LSB modules are available.

Distributor ID: Ubuntu

Description: Ubuntu 18.04.2 LTS

Release: 18.04

Codename: bionic

 

ubuntu 버전은 보시는 바와 같이 18.04입니다.

 

제일먼저 ubuntu를 업데이트 후 mysql을 설치합니다.

 

$ sudo apt-get update

$ sudo apt-get install mysql-server

 

 

외부에서 접속할 수 있도록 mysql 포트(3306)를 열어줍니다.

 

$ sudo ufw allow out 3306/tcp

 

$ sudo ufw allow in 3306/tcp

 

포트를 열었다면 mysql을 시작합니다.

 

$ sudo systemctl start mysql

 

 

Ubuntu 서버가 재시작 되더라도 mysql이 자동 시작되도록 등록합니다.

 

$ sudo systemctl enable mysql

 

systemctl의 경우 ubuntu의 버전이 낮을경우 동작하지 않습니다.

 

mysql을 접속!

 

$ sudo mysql -u root -p

 

패스워드를 변경하는 쿼리는 mysql 버전별로 다르기에 버전을 확인해야합니다.

 

mysql> SHOW VARIABLES LIKE "%version%";

 

 

제가 설치한 mysql 버전은 5.7.25입니다.

5.7.6 이후 버전이라면 아래와 같이 쿼리를 실행합니다. 

 

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'test1234';

 

비밀번호를 test1234로 설정했습니다. 자유롭게 하시면 됩니다.

 

만약 5.7.6 이전 버전이라면 아래와 같이 쿼리를 실행하면 됩니다.

 

mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('test1234');

 

 

5.7.25 최신버전의 경우는 둘다 아무거나 해도 상관 없습니다.

 

이제 mysql을 사용할 계정을 만들어 주겠습니다. 웹 서버 등과 연결해 사용할 때는 root 계정을 사용하는 것 보다 계정을 만들고 권한을 부여해 사용하는 것이 좋습니다.

먼저 현재 mysql의 계정(User) 정보를 확인하겠습니다.

 

mysql> SELECT User, Host, authentication_string FROM mysql.user;

 

HOST가  localhost일 경우 loacl에서만 접속 가능하며

 

%로 되있을시 외부에서도 자유롭게 접속 가능합니다.

 

 

이제 database를 만들고 database에 계정을 추가해 보도록 하겠습니다.

아래와 같이 ngletutor라는 database를 만듭니다.

 

 

mysql> CREATE DATABASE testDB;

 

testDB라는 명으로 db를 만들었습니다. 꼭 여기서 안만들고 권한을 오픈 한 후에

 

workbench같은 프로그램을 통해서 진행하면 더욱 쉽게 만들 수 있다.

 

mysql> SHOW DATABASES;

 

내가 만든 db의 목록을 확인 할 수 있다.

 

그후 외부 접속 설정은 아래 글을 참조하면 된다.

 

https://madohakja.tistory.com/4