본문 바로가기

프론트엔드 개발일지

최신 우분투 mysql 계정 생성하고 실행까지! 워크벤치로 쉽게 접속하기

반응형
 

Node.js 시작하기 express로 hello world 찍어보자

Node를 공부하면서 지난 블로그에 셋팅 과정들을 기록해왔다. NVM 설치하기 (node 버전 관리 / 윈도우에서 작업 환경 세팅하기) 구글 클라우드 플랫폼에서 VM인스턴스를 생성하고 ssh 접속까지 완료

bomango.tistory.com

이전 시간에 node.js에서 express를 이용해 hello world를 찍는 것까지 공부했다.

이번에는 mysql에서 데이터베이스를 생성하고 거기서 직접 데이터를 받아오려고 하는데,

쪼렙인 내겐... mysql을 실행하고 계정을 만드는 것부터가 굉장한 고난이었다..

 

 

 

우선 workbench를 다운로드 한다.

 

dev.mysql.com/downloads/workbench/

 

MySQL :: Download MySQL Workbench

Select Operating System: Select Operating System… Microsoft Windows Ubuntu Linux Red Hat Enterprise Linux / Oracle Linux Fedora macOS Source Code Select OS Version: All Windows (x86, 64-bit) Recommended Download: Other Downloads: Windows (x86, 64-bit), M

dev.mysql.com

 

 

위 사이트로 들어가서 본인 PC 환경에 맞는 프로그램을 설치한다.

 

이래저래 설치를 마치고 프로그램을 실행한다.

 

 

 

프로그램이 실행되면 메인 화면에 MySQL Connections 옆에 + 버튼이 있는데 이를 클릭해서 워크벤치를 새로 생성하거나, 혹은 아래에 네모박스(이미 생성된 워크벤치)를 오른쪽 클릭 -> Edit Connection을 클릭해서 본인에게 맞게 커스텀하면 된다.

 

 

이름 정도만 달아주고 OK를 누르면 생성 완료.

 

 

생성된 워크벤치로 접속하면 (네모박스를 더블클릭)

 

그럼 이런 could not acquire management access for administration chcp. 어쩌구를 please make sure 해달라는 경고창이 뜨면서 접속이 안된다. (다른 방법으로 해결할 수도 있겠는데 -사실 잘 모르기도 하고- 어차피 외부에서 원격 접속이 가능한 계정을 만들어야 하므로 아래 방법을 사용한다)

 

 

mysql에 계정을 생성하고 ip를 수정하면 이 부분이 해결되는데 이제 워크벤치를 잠시 내려두고, node.js를 생성해놨던 서버에 접속한다. (본인은 vs code로 원격 접속하고 명령?도 하므로 vs code를 다시 켰다.)

 

접속 명령어는

ssh -i ~/ssh위치한 디렉토리 위치 사용자명@ip주소를 치면 된다.

 

접속 방법은 아래 링크...

 

구글 클라우드 플랫폼에서 가상 서버 만들고 ssh접속까지

Node를 공부하기 위해 나만의 홈페이지를 개설해 서버에 연결하는 작업을 해보기로 했다. 먼저 구글 클라우드 플랫폼을 통해 가상 머신을 실행시켜야 한다. 1. 구글 클라우드 플랫폼 접속 -> VM 인

bomango.tistory.com

 

 

이제부터 본격적으로 우분투에 mysql을 설치하므로 정신 바짝 차리고 과정을 잘 따라가자!

 

1. 업데이트를 실행한다.

sudo apt update

 

 

2. mysql 설치를 위해 아래 명령어를 차례로 친다

sudo apt install mysql-server

sudo mysql_secure_installation

 

 

3. 재시작을 해준다

sudo /etc/init.d/mysql restart

 

4. mysql을 실행한다

sudo mysql

 

이렇게까지 했는데도 처음에는 접속이 안된다. root 계정의 비밀번호를 설정해줘야 하는데 설정 방법은 아래와 같다.

 

mysql -u root -p                       // root 계정으로 mysql 접속
use mysql                                // sql 불러오기

select User, Host, plugin from mysql.user;          //mysql에 있는 유저 정보들을 불러온다. 

update user set plugin='mysql_native_password' where user='root';          //root의 패스워드 설정을 변경한다.

flush privileges;                         //저장

이후 root 비밀번호를 변경하면 다음에 접속시 가능하다.

 

그다음 root가 아닌 별도로 이용할 계정을 생성하고자 한다.

use mysql                                //sql 불러오기

create user '계정명'@'%' identified by '비밀번호는 대문자, 소문자, 숫자, 특수문자 8자 이상';          //새로 만들 계정

grant all privileges on *.* to '계정명'@'%';                     //계정에 모든 권한을 부여한다 

flush privileges;                                                       //저장

SELECT User, Host, plugin FROM mysql.user;                 //계정이 새로 잘 들어갔는지 확인

 

우분투가 업데이트되면서 비번이 더욱 강화되었는데, 비번은 무조건 대문자, 소문자, 숫자, 특문이 포함된 8자 이상이어야 가능하다!!

그리고 명령어에 포함된 '%'은 접근 범위를 설정하는데에 필요한데,

%는 전체에서 접근이 가능 / localhost는 로컬에서만 접근이 가능 / IP명을 입력하면 해당 IP로만 접근할 수 있도록 한다.

 

 

이제 해당 사용자에게 DB 사용 권한을 부여한다

INSERT INTO db VALUES('%','%','bomi','Y','Y','Y','Y','Y','Y','N','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','N','N');

 

여기까지 하면 새로운 계정으로도 접속이 가능하다.

이후 터미널에서 접속하려면 

mysql -h 아이피주소(localhost는 생략가능 -h는 원격에서 접속시) -u유저명 -p

ex) mysql -h 123.123.123.12 -utest -p

 

그리고 이제 워크벤치로 다시 돌아와서, 회색박스 오른쪽 클릭 > Edit connection...

 

 

hostname에 IP주소와 username에 새로만든 계정명을 넣고 test connection을 눌러본다.

비밀번호를 치고 접속하면

 

성공이다!!!

반응형