1.
구름 터미널에서 /etc/mysql/mysql.conf.d/ 경로로 들어가서 vim mysqld.cnf 입력
bind-address = 127.0.0.1 찾아서 주석처리 (# bind-address = 127.0.0.1 해주면 된다.)
그리고 꼭!!!!
터미널에서 service mysql restart 입력해서 재시작 해줘야 한다.
아이피 변경되어서 다시 연결해줄 때도 꼭 이거 해주자
2.
mysql -u root -p 해줘서 mysql 접속한 다음
mysql > GRANT ALL ON *.* TO '계정이름'@'%' IDENTIFIED BY '비밀번호';
mysql> FLUSH PRIVILEGES;
여기서 나는 '계정이름'@'%'과 '비밀번호'는 다들 자신의 것을 기업하면 된다. 작음 따옴표 지우지말고!
3.
구름 상단의 메뉴 바 - 컨테이너 - 포트포워딩 설정에 들어가서 유형 mysql 지정 후 등록 버튼을 누른다.
그럼 IP하고 외부 포트가 나타날 것이다. Mysql Workbench에 가서 등록해주자
방금 봤던 IP를 워크벤치의 Hostname에 넣고, 외부 포트를 워크벤치의 port 칸에 넣어준다.
워크벤치에서 password를 입력하고 Test Connection 버튼을 눌러보자
혹시 여기까지 했는데 연결이 안되면 워크벤치에서 옆 옆 칸의 Advanced 탭을 누르고
Others에 useSLL = 0을 기입해주자
4.
SELECT Host,User,plugin,authentication_string FROM mysql.user;
해주면 Host, User, plugin을 확인할 수 있다.
혹시 내가 접속할 '계정이름'@'%'의 plugin이 mysql_native_password가 아니라면 오류가 뜰 것이므로 미리 바꿔주자
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '비밀번호';
당연하지만 '비밀번호'엔 자신의 비밀번호를 기입해주자
그리고 데이터베이스를 생성하자 나의 경우엔
CREATE DATABASE roundmeet;
그리고 해당 DB를 사용한다는 다음 명령어를 실행시키고,
USE roundmeet;
다음처럼 user 테이블을 만들었다.
CREATE TABLE user (
email VARCHAR(45) PRIMARY KEY,
username VARCHAR(45) NOT NULL,
password VARCHAR(45) NOT NULL
);
그리고 해당 한글이 기입될 경우 깨지는 대참사를 미리 막아주기 위해 다음 명령어를 실행시키자
다른 사람들은 roundmeet.user 대신 자신의 테이블을 기입하면 된다.
ALTER TABLE roundmeet.user convert to charset utf8;
이제 테이블을 확인해보자 나의 경우 테이블 확인 전에 회원가입을 수행해서 내용물이 들어있을 것이다.
select * from roundmeet.user;
실행결과)
다음과 같이 테이블이 출력된다.
물론 이렇게 데이터베이스가 연동되어 회원가입, 로그인 기능을 수행하기 위해선
서버에서 다음과 같이 mysql 모듈을 설치하고 데이터베이스를 연결해주는 작업이 선행되어야 한다.
// server.js
var mysql = require('mysql');
var dbconn = mysql.createConnection({
host:'localhost',
user: 'root',
password: '비밀번호',
database: 'roundmeet',
debug: false
});