본문 바로가기
반응형

mysql10

MySQL - 해결 mysql_native_password failed with message MySQL 사용시 mysql_native_password가 발생하는 경우가 있다. 이경우는 보통 유저의 권한이 충분하지 않은 경우 발생하기 때문에, 우선 root를 이용하여 로그인이 정상적으로 되는지 확인해보고 조치해보기를 권장한다. root로 정상 접근이 된다면, 아래오 같이 특정 계정에 대해 권한을 전체로 넣어주도록 하자. 예제에서는 blueit라는 계정이다. mysql> grant all privileges on *.* to 'blueit'@'%' identified by 'password'; mysql> flush privileges; 2022. 9. 29.
Django - MySQL/MariaDB 연결하기 Django를 설칳면 기본적으로 파일 기반의 SQLite가 설치되어 있다. 서비스를 위해서는 파일 기반의 데이터베이스를 사용하기에는 용이하지 않다. 현재 MariaDB라는 MySQL와 완전히 호환되는 오픈 소스 데이터베이스가 있기 때문에 많은 사용자들이 이 데이터베이스를 사용하고 있다. 여기에서는 Django를 MySQL을 연결하는 방법에 대해서 기본적인 내용을 다루어 보도록 하겠다. MySQL/MariaDB 라이브러리 설치 MySQL/MariaDB 을 사용하기 위해서는 먼저 라이브러리를 설치해야 한다. 라이브러리는 MySQL/MariaDB 모두 mysqlclient를 사용할 수 있다. pip install mysqlclient 위 명령을 통해 라이브러리를 설치하도록 하자. settings.py 설정 s.. 2022. 8. 27.
Python - SQLAlchemy, pymysql 사용 SQLAlchemy는 Python에서 mysql등 데이터베이스를 질의할 때 유용하게 활용할 수 있는 옵션이다. https://docs.sqlalchemy.org/en/14/core/engines.html#mysql Engine Configuration — SQLAlchemy 1.4 Documentation Engine Configuration The Engine is the starting point for any SQLAlchemy application. It’s “home base” for the actual database and its DBAPI, delivered to the SQLAlchemy application through a connection pool and a Dialect, whi.. 2022. 5. 12.
Python - FastAPI Relationship SQL data 처리 FastAPI를 이용해서 Relationship 데이터를 처리하면서 해당 부분만 요약해서 정리해 본다. 본 예시에서는 Post라는 본문에 관련있는 Account들을 나열하는 구조를 예시로 잡았다. 그리고 기본 프로그램의 구조는 아래와 같다. . └── crud.py ├── database.py ├── main.py ├── api.py └── schemas.py 이를 위해 Account와 Post에 대한 관계 테이블에 대한 Model을 정의 해야 한다. Post와 관련있는 Account를 참조하기 위해서 Account에 post_id라는 외례키 컬럼을 추가하였다. models.py from sqlalchemy import Boolean, Column, Integer, String, DateTime, Big.. 2022. 4. 12.
pymysql error - RuntimeError: 'cryptography' package is required for sha256_password or caching_sha2_password auth methods pymysql을 이용해서 mysql 인증시 아래와 같은 cryptography 오류가 발생한다면 해당 인증 모듈이 설치가 되어 있지 않아서이다. 아래 명령으로 cryptography 를 설치하도록 하자. pip install cryptography 2022. 4. 8.
Python - sqlalchemy bigint 사용한 id 값 고려 Python 의 기본 ORM 을 사용한다면, id 필드를 통한 unique 값 생성이 기본이다. 기본값은 INT인데, INT로 생성할 경우 최대 생성 가능한 컬럼이 2,147,483,647 까지 가능하다. 만약 이값을 넘어간다면, 추후 BIGINT로 변경하는 것을 고려해야 한다. 따라서 되도록 초기 구성시 INT보다 큰 값을 제공하는 BIGINT를 이용하기를 추천한다. https://docs.sqlalchemy.org/en/14/core/type_basics.html Column and Data Types — SQLAlchemy 1.4 Documentation A type for fixed precision numbers, such as NUMERIC or DECIMAL. This type returns.. 2021. 5. 4.
Django - MySQL/MariaDB 연결하기 대부분의 서비스용도로 사용하다면, 기본적으로 제공하는 파일 기반의 Database인 SQLlite 보다는 MySQL, 혹은 MariaDB를 통해 Database를 사용하는 것이 확장성에 좋기 때문에 MySQL/MariaDB 연결 방법에 대해서 정리해 본다. 1. mysqlclient 설치 가장 먼저 해야 할 일은 MySQLClient를 설치하는 것이다. Visual Studio 기준으로 env 에서 마우스 우클릭을 통해 Manage Python Packages 에서 mysqlclient를 입력하여 설치할 수 있으며, 이는 pip를 통해 설치한 것과 동일하다. pip install mysqlclient 설치가 완료되면, 패키지가 추가된 것을 확인 할 수 있다. 2. DATABASE 설정 변경 Django의.. 2021. 3. 24.
MySQL/MariaDB - root 계정 초기화/비밀번호 재설정 오늘은 MiaraDB 작업중에 발생한 root 비밀번호 분실에 따른 재설정을 진행하였다. 이유는 정확히 모르지만, sudo mysql_secure_installation 작업 도중 root 비밀번호 변경에서 강제 중지를 하였더니 root 계정이 사라져 버렸다. 이를 해결 하기 위해서 인터넷의 정보를 확인했고 여기에 정리하는 차원으로 남긴다. 방법은 MariaDB와 MySQL 모두 동일한 방식으로 사용이 가능하다. 아마 root 계정의 비밀번호를 분실했거나, 계정을 삭제한 상황이라면, 아래 방법이 유용하다. 처음에 찾은 글은 재설정하는 방법이였는데, 결과적으로 재설정이나 새로 root 계정을 생성하는 과정을 비슷하다고 할 수 있다. 1. MySQL/MariaDB Safe Mode 시작 처음 진행할 부분은 .. 2021. 1. 25.
반응형