본문 바로가기
반응형

mysql13

Docker - Mariadb 실행 요점 정리, 볼륨 구성등 실행할때 마다 웹 검색해서... 어떻게 하면 좋을까 싶어 정리해본다. 가장 기본적으로 Mariadb를 실행하기 위해서는 Password 설정을 해주어야 한다. 아래 입력이 가장 짧게 진행하는 것이다. 여기에 -p 옵션을 이용해서 포트를 호스트에서 연결할 수 있도록 하면 기본적인 환경 구성은 완료되었다고 할 수 있다. docker run --detach --name mariadb -p 3306:3306 --env MARIADB_ROOT_PASSWORD=password! mariadb:latest 실행할 때 필수로 사용해야 하는 옵션에 대해서 알아보도록 하자. --detach: docker run 명령은 기본적으로 백그라운드 실행을 하지 않아 터미널에 실행상황을 출력하게 된다. 따라서 백그라운드 실행을 하고.. 2023. 1. 2.
MariaDB/MySQL - Database 파일 위치 변경하기 MariaDB/MySQL를 관리할 때 가장 기본적인 부분이 바로 Database는 사이즈이다. Database는 말 그대로 데이터를 저장하는 저장소이기 때문에 많은 양의 데이터를 저장하다 보면 디스크공간이 가득차게된다. 따라서 별도의 넉넉한 저장 공간을 만들어 데이터베이스를 위치하는게 좋은데, 기본적으로 데이터베이스 경로는 아래에 위치해 있다. /var/lib/mysql/ 여기에서는 데이터베이스 경로를 변경하는 방법에 대해서 알아보고자 한다. 1. 현재 데이터베이스 위치 확인하기 데이터베이스 위치를 확인하기 위해서는 먼저 mysql을 이용해서 로그인을 해야한다. $ sudo mysql -u root -p 이후 환경 변수인 @@datadir 를 이용하면 현재 위치 정보를 확인할 수 있다. MariaDB [.. 2022. 12. 14.
Django - Mysql/Maria DB 연결 구성 Django의 기본 Database는 파일기반의 SQLite를 사용하도록 되어 있다. 이를 보다 효율적으로 관리하기 위해서 Mysql/Maria DB 연결 방식을 여기에 기록해 놓는다. 먼저 Django 환경 구성 파일인 setting.py에서 DATABASE 부분을 찾아 다음과 같이 변경하도록 하자. import urllib.parse db_hostname = '' # 데이터 베이스 서버 IP db_name = '' # 데이터 베이스 이름 db_user = '' # 데이터 베이스 유저 이름 db_pass = urllib.parse.quote_plus('') # 데이터 베이스 유저의 비밀번호 DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql'.. 2022. 11. 18.
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.