컴퓨터/MySQL
-
MySQL: 주변 검색 Spatial 함수 탐구컴퓨터/MySQL 2024. 3. 6. 16:24
공간 데이터 처리 카카오맵 API를 이용하여 DB에 저장된 위치 주변 데이터들을 불러오고 싶었다. Postgres + postgis를 사용하면 ST_DWithin 이란 함수를 통해 쉽게 주변 장소들을 불러올 수 있다. https://www.ibm.com/docs/ko/db2/11.5?topic=sf-st-dwithin ST_DWithin ST_DWithin 함수는 두 Geometry가 지정된 거리 내에 있는지 판별합니다. 구문 매개변수 geometry1 geometry2와 비교할 Geometry를 나타내는 ST_Geometry 유형의 값입니다. geometry2 geometry1과 비교할 Geometry를 표시하 www.ibm.com 두 함수 모두 지리적 객체 간의 거리를 계산되는데 쓰지만 최적화가 다르..
-
Python: ModuleNotFoundError: No module named 'mysql'컴퓨터/MySQL 2020. 12. 31. 09:58
어느 날 나타난, caching_sha2_password is not supported error mysql.connector.errors.NotSupportedError: Authentication plugin 'caching_sha2_password' is not supported 이 오류는 mysql-connector은 오래된 버전이기 때문이다. 삭제해버린다. pip uninstall mysql-connector 제작자가 업데이트를 안 해서 Oracle에서 제작한 버전을 설치해야 한다. (v8+) (mysql-connector-python-rf보다 공식 버전을 설치하길 바람) pip install mysql-connector-python 위로도 해결이 안 될 수도 있다, import mysql을 해..
-
Python MySQL: with OPEN_DB 만들기컴퓨터/MySQL 2020. 12. 15. 10:35
commit은 항상 하고, cursor를 주로 사용하기 때문에 알아서 close 시키는 with문을 만들고 싶었다. custom with문 만들기 import os from contextlib import contextmanager @contextmanager def OPEN_DB(): # connect to my local MySQL instance using connection string db = mysql.connector.connect( host="localhost", user=os.environ["MYSQL_USER"], password=os.environ["MYSQL_PASSWORD"], database="mydb", charset="utf8", ) cursor = db.cursor(buff..
-
Python MySQL: 중복 row 인지 확인하기컴퓨터/MySQL 2020. 12. 15. 10:30
위와 같이 id, title, ...로 이루어진 row들이 있는 데이터베이스가 있다. id는 primary key이고, id를 INSERT하기 전에 중복인지 확인하고 싶었다. db 초기화 import mysql.connector db = mysql.connector.connect( host="localhost", user=os.environ["MYSQL_USER"], password=os.environ["MYSQL_PASSWORD"], database="mydb", charset="utf8", ) cursor = db.cursor(buffered=True) 중복 row 체크 왜 빠를까? 만약 id가 기본 키라면 인덱싱이 된다. 인덱스 스캔은 테이블 스캔보다 빠르니까 크기에 관계없이 동일한 성능을 보여준다..
-
MySQL 서비스가 로컬 컴퓨터에서 시작했다가 중지되었습니다.컴퓨터/MySQL 2020. 12. 15. 10:23
모르고 시작 메뉴에서 MySQL을 제거하고 재부팅했더니, 서비스도 안 보이고 MySQL 시작도 안됐다. MySQL 서비스 등록하는 방법 cmd를 관리자 권한으로 실행 mysqld --install MySQL 초기화하기 cmd를 관리자 권한으로 실행 mysqld --initialize --console ※ db와 비밀번호가 초기화되어버린다. ※ 꼭 console 옵션을 붙여서, 임시 비밀번호를 확인한다. MySQL 서비스 실행하기 net start mysql 테스트하기 -p 옵션으로 비밀번호를 입력 후 접속하도록 한다. 비밀번호엔 초기화해서 받은 임시 비밀번호를 사용한다. mysql -uroot -p
-
Python: MySQL 사용하기컴퓨터/MySQL 2020. 12. 14. 16:00
MySQL MySQL Over 2000 ISVs, OEMs, and VARs rely on MySQL as their products' embedded database to make their applications, hardware and appliances more competitive, bring them to market faster, and lower their cost of goods sold. www.mysql.com 할 것 MySQL 서버 실행 Python용 MySQL connector db 만들고 간단하게 table CREATE, SELECT 설치 MySQL 다운로드 dev.mysql.com/downloads/mysql/ Windows 10 my.ini 경로: C:\ProgramData\..