본문 바로가기
반응형

mysql14

MySQL - Database 테이블 구조 와 데이터(table, data) 백업하기(Dump) MySQL에서 테이블 구조와 데이터 백업을 한번에 처리할 수 있는 방법은 간단하다. sudo mysqldump -u -p --databases > .sql -p 공간을 비워두면 패스워드가 필요한 경우 자동으로 패스워드 입력으로 넘어가게 된다. 만약 root 유저에 asecurity 데이터베이스 테이블 구조까지 백업한다면 다음과 같이 명령하면 된다. sudo mysqldump -u root -p --databases asecurity > asecurity_230308.sql 전체가 텍스트 내용이기 때문에 Table 구조만 필요한 경우 해당 내용을 따로 빼둘 수 있다. 테이블 단위로 하고 싶다면 database 다음에 공백을 두고 table 이름을 입력하면 된다. 2023. 3. 8.
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.