- 터미널에서 외부 host 접속 명령어
% mysql -h <엔드포인트> -P <포트> -u <마스터 사용자 이름> -p
✅ 같은 워크스페이스에서 vscode 실행
1) 내부에서 .sql파일 불러오기
- SQL파일 불러오기
mysql> source 파일명.sql
- mysql 종료
mysql> exit
2) 외부에서 .sql파일 불러오기
sql_ws % mysql -u username -p 데이터베이스명 < 파일명.sql
3) Database Backup
- 특정 데이터베이스 백업
% mysqldump -u username -p 데이터베이스명 > 백업파일명.sql
- 모든 데이터베이스 백업
% mysqldump -u username -p --all-databases > 백업파일명.sql
4) Table Backup
- local환경의 mysql
% mysqldump -u username -p 데이터베이스명 테이블명 > 백업파일명.sql
- 외부환경의 mysql
% mysqldump --set-gtid-purged=OFF -h <엔드포인트> -P <포트> -u <마스터 사용자 이름> -p 데이터베이스명 테이블명 > 백업파일명.sql
✅ 가상환경 확인 !
✅ Jupyter notebook 과 mysql 은 같은 워크스페이스에서 !
- MySQL Driver 를 설치
% pip install mysql-connector-python
import mysql.connector
1) 연결
mydb = mysql.connector.connect(
host = ' ',
user= ' ',
password = ' ',
)
caching_sha2_password 오류 해결 - https://yoshikixdrum.tistory.com/218 참고
remote = mysql.connector.connect(
host = '엔드포인트',
port = 3306,
user = ' ',
password = ' '
)
2) close database
local.close()
remote.close()
3) 예제
import mysql.connector
# aws rds 연결
conn = mysql.connector.connect(
host = '엔드포인트',
user = ' ',
port = 3306,
password = ' ',
database = ' '
)
import pandas as pd
# csv 파일 불러오기
df = pd.read_csv('Seoul_CCTV.csv', encoding='utf-8')
# conn에 테이블 생성
sql = 'create table cctv (기관명 varchar(8), 소계 int, 2013년도이전 int, 2014년 int, 2015년 int, 2016년 int)'
cursor = conn.cursor(buffered=True)
cursor.execute(sql)
# conn에 df데이터 넣기
sql = 'insert into cctv values (%s,%s,%s,%s,%s,%s)'
cursor = conn.cursor(buffered=True)
for i, row in df.iterrows():
cursor.execute(sql, tuple(row))
print(tuple(row))
conn.commit()
# conn에 df데이터가 잘 들어갔나 확인
cursor.execute('select * from cctv')
result = cursor.fetchall()
for row in result:
print(row)
# conn 종료
conn.close()
출처) 제로베이스