본문 바로가기
개발자, 탐구생활/개발자, 코딩

[mysql]우분투 mysql 설치하기 + 삽질

by The Career 2022. 1. 30.
반응형

 

개인용 클라우드 서버를 생성 후 개인 공부용으로 db가 필요하여 mysql을 설치했다.

대략적인 순서는 알고 있지만 매번 설치를 진행할때마다 찾게 되어 이참에 설치 과정을 정리해본다.(+ 삽질기 ㅜ)

(우분투 20.04.3 LTS 기준으로 작성되었습니다.)


1️⃣  mysql 설치하기

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

설치를 진행하는 과정에서 별다른 입력 없이 중간에 Y(?)만 입력했는데, 초기 계정의 경우는 우분투 계정/비밀번호와 동일하게 셋팅되는 것 같다.

 


2️⃣  mysql 설정 및 실행하기

#mysql 시작
sudo service mysql start

#mysql 종료
sudo service mysql stop

#mysql 재시작
sudo service mysql restart

클라우드 서버에 설치를 했기 때문에 외부에서 접근이 가능하게 설정해주어야 한다. mysql을 사용하는 3306 포트는 카페24 관리자 페이지를 통해서 방화벽을 열어주었다. 추가로 mysql 설정파일에서 bind-address 값을 주석처리 해주었다.

 

sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf


3️⃣  DB 생성 / 계정 생성

 

#mysql 로그인
$mysql -u 계정명 -p

#db 만들기
mysql> create database test;

#계정 만들기
mysql> create user '아이디'@'%' identified by '비밀번호';
mysql> grant all privileges on test.* to '아이디'@'%';
mysql> FLUSH PRIVILEGES;

데이터베이스를 생성 후 해당 데이터베이스를 사용할 계정을 생성했다.

간단하게 살펴보면 아이디 옆에 @'%'는 외부에서 모든 ip에 대한 접근을 허용하겠다는 의미이다. 외에도 로컬에서만 사용, 특정 ip에서 사용 등 다양한 설정이 가능하다.

 

#명령어별 권한 설정
mysql> grant select, insert, update on test.* to '아이디'@'%';

 


❌  삽질한 내용

mysql  설치 후 평소 자주 사용하는 sequel pro를 사용해서 접속을 시도했더니 다음과 같은 에러 발생

 

caching_sha2_password.so: cannot open shared object file: no such file or directory

대충 검색해보니 mysql 8버젼부터는 암호화 플러그인이 변경되어서 저런 에러가 발생한 것 같다. sequel pro는 2016년 마지막 릴리즈 버젼으로 저 플러그인을 지원하지 않는다고 한다. 스택오버플로우 검색결과 계정을 기존 방식인 mysql_native_password 으로 변경해주면 된다고해서 일단 시도.

 

mysql> CREATE USER 'username'@'%' IDENTIFIED WITH mysql_native_password BY 'password';

시도해본 결과 접속은 된다! 하지만 데이터베이스를 인식하지 못한다.. mysql 8버젼과는 뭔가 호환되지 않는(?) 무언가가 있는듯..

그냥 편하게 workbench 쓰는 것으로 스스로 합의.

 


❗️ 결론

비교적 간단한 작업이었으나 서버 설정 관련 작업들은 자주 해보지 않아서 작업을 할 때마다 구글링이 필요하다. 매번 같은 내용을 찾는 경우가 많이 생겨서 이참에 문서로 정리해보았다. SE의 영역(?) 같지만 언젠가 이런 작업을 해야할 경우가 생길 수도 있을 것 같다.

 


✅  참고자료


 

반응형