[2021.07.19] 인턴 +140 How to connect Mysql on Azure? (+Workbench connect, ADD data DB)
해당 게시글은 클라우드(Azure)에서 가상머신을 만든 후, 그 가상머신에 MySQL을 설치 하여,
로컬 PC에 설치한 Workbench로 접속하는 방법에 대해 알려주기 위해서 작성하였다.
# AWS DB 연동(AWS)
def get_db():
db = pymysql.connect(
host='ec2-13-125-144-25.ap-northeast-2.compute.amazonaws.com',
port=3306,
user='admin',
passwd='1/zw;GytAwx*',
db='KABL',
charset='utf8'
)
return db
# AWS DB 연동 (Azure)
def get_db():
db = pymysql.connect(
host='52.141.5.164',
port=3306,
user='admin',
passwd='1/zw;GytAwx*',
db='KABL',
charset='utf8'
)
return db
<AWS EC2 Workbench 접속하는 방법>
-> 기존에는 AWS EC2를 주로 사용했었다. (Host에는 AWS EC2에 들어가면 나오는 퍼블릭 IPv4 DNS 값을 넣어줄 것)
---------------------------------------------------------------------------------------------------------------------------
이제, AWS가 아닌, 이번에는 Azure에 Workbench 접속하는 방법에 대해서 알아보자.
<Azure VM Workbench 접속하는 방법>
-> Hostname에 공용 ip주소인 것을 적어주면 된다.
mysql> CREATE USER 'admin'@'%'identified by 'password';
Query OK, 0 rows affected (0.02 sec)
mysql> grant all privileges on *.* to 'admin'@'%';
Query OK, 0 rows affected (0.04 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
mysql> select host,user from user;
+-----------+------------------+
| host | user |
+-----------+------------------+
| % | admin |
| localhost | mysql.infoschema |
| localhost | mysql.session |
| localhost | mysql.sys |
| localhost | root |
+-----------+------------------+
5 rows in set (0.00 sec)
-> mysql root로 접속한 것으로 계정을 만든 아이디로 접속해주면 된다.
* 무조건 root는 server에서만 접속이 되며, 외부로 접속을 하고 싶다면, 아이디를 꼭 만들어줘서 접속해야 한다.
(잊지말자 자주 까먹네)
---------------------------------------------------------------------------------------------------------------------------------
<pymysql를 통해, db에 데이터를 넣는 방법>
import pymysql
def get_db():
db = pymysql.connect(
host='52.141.5.164',
port=3306,
user='admin',
passwd='?????',
db='KLAC',
charset='utf8'
)
return db
-> 해당 host는 AWS 클라우드상에서 사용한다면, EC2 IPv4 DNS 주소를, Azure에서 사용한다면, 공용 ip주소를 입력
mysql> CREATE TABLE Inquiry(
-> Orgindex Varchar(5),
-> Num Varchar(100) PRIMARY KEY,
-> Title Varchar(500),
-> content Varchar(8000),
-> regDate Varchar(200),
-> Link Varchar(400));
Query OK, 0 rows affected (0.06 sec)
mysql> CREATE TABLE Answer(
-> Num Varchar(100) PRIMARY KEY,
-> content Varchar(8000),
-> regDate Varchar(200),
-> Link Varchar(400));
Query OK, 0 rows affected (0.33 sec)
* 크롤링 데이터를 넣으려면, 데이터베이스를 선언해주고 , 해당 테이블 이름과 컬럼(속성)값을 미리 부여해줘야 데이터를 넣어줄 수 있음.
<AWS 가 아닌, Azure에서 만든 VM MySQL 서버에 데이터가 제대로 넣어지는 모습>
댓글