-
우분투 SQL 설치 및 환경설정, Sqlalchemy데이터 분석 공부/SQL 2024. 4. 11. 17:01728x90
# mysql 설치
sudo apt install mysql-server
# mysql 동작 상태 확인
sudo service mysql status
# 시작/중지/상태/재시작
sudo service mysql start[stop/status/restart]
# MySQL 서비스가 시스템 부팅 시에 자동으로 시작되도록 설정
sudo systemctl enable mysql
# 계정 설정
# root 권한으로 mysql 접속
sudo mysql -uroot -p
# MySQL 데이터베이스에 등록된 모든 사용자와 해당 사용자가 접근할 수 있는 호스트를 조회합니다.
select user, host from mysql.user;
# 데이터베이스를 사용할 신규 유저 생성
create user [유저명]@'%' identified by '[패스워드]';
# 모든 데이터베이스의 테이블 권한 주기
grant all privileges on *.* to [유저명]@'%';
# 나가기exit;
# 접속하기sudo mysql -u[유저명] -p
ㄴ여기서 -u 다음에는 유저명을, -p는 패스워드 입력하도록 하는 명령어
# 외부 접속 허용
# mysql 환경 파일
cd /etc/mysql/mysql.conf.d
# vim으로 config 파일 sudo 권한으로 열기
sudo vim mysqld.cnf
# bind-address 부분 수정
# bind-address = 127.0.0.1
bind-address = 0.0.0.0
ㄴbind-address가 127.0.0.1 일 때는 MySQL 서버가 로컬 루프백 인터페이스(localhost)에만 바인딩됩니다. 이는 MySQL 서버가 로컬 시스템에서만 접근 가능하도록 하는 것을 의미합니다. 따라서 외부에서는 MySQL 서버에 접근할 수 없습니다.ㄴ 따라서 bind-address = 0.0.0.0으로 설정하면 MySQL 서버가 로컬 뿐만 아니라 외부에서도 접근할 수 있도록 허용됩니다. 이 설정은 MySQL 서버가 로컬 시스템 외의 다른 호스트에서 접근해야 하는 경우에 유용합니다.
# mysql 재가동
# Sqlalchemy더보기sqlalchemy는 파이썬에서 SQL 데이터베이스를 다루는 데 사용되는 라이브러리입니다. 주요 역할은 다음과 같습니다:
- SQL 데이터베이스와의 상호작용: sqlalchemy를 사용하면 다양한 SQL 데이터베이스 (예: MySQL, PostgreSQL, SQLite 등)와 상호작용할 수 있습니다. 데이터베이스에 연결하고 데이터를 조회, 추가, 수정, 삭제하는 등의 작업을 할 수 있습니다.
- ORM (Object-Relational Mapping) 지원: sqlalchemy는 ORM을 지원하여 데이터베이스 테이블과 파이썬 클래스를 매핑할 수 있습니다. 이를 통해 데이터베이스 테이블을 객체로 다룰 수 있어서 SQL 쿼리를 직접 작성하는 대신 객체 지향적인 방식으로 데이터를 다룰 수 있습니다.
- 데이터베이스 연결 관리: sqlalchemy는 데이터베이스 연결 관리를 단순화해줍니다. 연결 풀링, 트랜잭션 관리 등을 자동으로 처리하여 개발자가 직접 관리할 필요가 없게 해줍니다.
- SQL 쿼리 생성: sqlalchemy를 사용하면 SQL 쿼리를 생성할 수 있습니다. 데이터베이스에 대한 복잡한 쿼리를 직접 작성하는 대신 sqlalchemy의 쿼리 빌더를 사용하여 파이썬 코드로 쿼리를 생성할 수 있습니다.
import sqlalchemyfrom urllib import parse
user = '유저네임'
password = '패스워드'
host= '본인 IP 주소'
port = 3306
database = '데이터베이스명'
password = parse.quote_plus(password)
engine = sqlalchemy.create_engine(f"mysql://{user}:{password}@{host}:{port}/{database}")
[문서명].to_sql('[DF명]', index=False, if_exists="append", con=engine)
'데이터 분석 공부 > SQL' 카테고리의 다른 글
[SQL][해커랭크] Draw The Triangle 1 / SET @, REPEAT (0) 2024.05.17 [SQL][해커랭크] The PADS / 문자열 출력 (0) 2024.05.14 [SQL][해커랭크] weather observation station 9, 10 / 정규표현식, 와일드카드 (0) 2024.05.13 mysql start 시 cannot change directory to /nonexistent: No such file or directory 오류 해결 (0) 2024.04.22 DBMS 안에서 데이터베이스 연결하기 (0) 2024.04.17