반응형

MySQL 7

PostgreSQL Dump 파일로 DB 복구하는 방법

만약 DB의 모든 데이터가 날아갔거나 복구해야할 일이 있다면아래의 절차를 그대로 실행하면된다.  준비물: dump 파일(.sql)  1. 먼저 psql에 접속한다.sudo -u postgres psql 2. (필요 시)모든 세션을 (강제)종료 한다.SELECT pg_terminate_backend(pid) FROM pg_stat_activity WHERE datname = ;# 예시: SELECT pg_terminate_backend(pid) FROM pg_stat_activity WHERE datname = 'example_db' 3. DB를 삭제 후 재생성한다.DROP DATABASE ;CREATE DATABASE ;# 예시: DROP DATABASE example_db;# 예시: CREATE DAT..

PostgreSQL 2025.03.13

EC2에 있는 PostgreSQL DB Dump 파일을 내 PC로 복사

사전에 EC2에 PostgresSQL이 설치되어 있고, 스키마가 구성되어있을 때, 해당 스키마 전체를 dump 파일로 만든 후 내 PC로 복사를 하고 싶다. 방법1. 먼저 EC2에 SSH로 접근한다.# pem 키가 있는 디렉토리로 이동 후 ec2 접속 명령어 입력ssh -i "" @ 2. Postgres 사용자로 전환하여 dump 파일을 생성한다.sudo -i -u # 예: sudo -i -u postgres 3. dump 파일을 생성한다.pg_dump -U -F p -d ≤db_name≥ -f # 예: pg_dump -U postgres -F p -d example_db -f example_dump.sql 4. dump 파일 생성이 완료 되었으면 생성된 파일의 경로를 확인한다.그후 다시 EC2 사용자..

PostgreSQL 2025.03.13

Error Code: 1175. You are using safe update mode and you tried to update a table without a WHERE that uses a KEY column To disable safe mode, toggle the option in Preferences

MySQL에서 DELETE 또는 UPDATE 쿼리 시 발생할 수 있는 오류다. 원인 이 오류는 MySQL의 safe update 모드로 인해 발생할 수 있는 것으로, UPDATE나 DELETE 쿼리에 WHERE 절에서 기본 키 열을 사용하지 않는 경우, UPDATE, DELETE 명령을 수행하지 못하게 한다. 즉, 실수로 모든 행을 업데이트 해버리거나 삭제하는 것을 방지하기 위해 설정을 걸어둔 것이다. 방법1. 기본키를 사용한 WHERE 절을 추가한다. 가장 간단한 방법이다. SQL문에 WHERE 절을 추가하면 safe update 모드를 무시하고 쿼리를 수행할 수 있다. 예제) -- 오류가 발생할 수 있는 쿼리 UPDATE my_table SET column_name = new_value -- WHER..

mysql.connector.errors.NotSupportedError: Authentication plugin 'caching_sha2_password' is not supported

원인 'caching_sha2_password' 인증 플러그인 오류는 MySQL 8.0 버전 이후의 MySQL 서버에서 발생할 수 있다. 이 문제는 MySQL 서버의 기본 인증 플러그인이 'caching_sha2_password'으로 변경되면서 발생한다. 해결 방법 방법1. 사용자 계정 변경하기 새로운 방식의 인증 플러그인을 지원하는 사용자 계정을 생성한다. ALTER USER 'yourusername'@'localhost' IDENTIFIED WITH 'mysql_native_password' BY 'yourpassword'; 방법2. MySQL 설정 변경하기 MySQL 설정 파일에서 `default_authentication_plugin` 값을 변경한 후, MySQL 서버를 종료 후, 다시 시작한다...

Golang mysql 사용/연동 하기

Golang에서 mysql과 연동하기 위해 "database/sql"과 "github.com/go-sql-driver/mysql" 패키지를 import 해야한다. "database/sql"은 golang의 데이터베이스 관련 인터페이스를 제공하고, DB연결, 쿼리 실행, 트랜잭션 등을 처리할 수 있다. "github.com/go-sql-driver/mysql"은 mysql DB 드라이버를 구현한 패키지다. 사용 방법 터미널에서 다음의 명령어를 사용하여 패키지를 다운로드 한다. (이미 설치가 되어 있다면 생략) go get github.com/go-sql-driver/mysql 예제 코드) DB가 이미 생성되어 있다는 가정하에 진행 package main import ( "database/sql" "fmt"..

Golang 2023.08.08

쿠버네티스 mySQL pod dump

기존의 linux에서 mysql dump를 할 때는 다음과 같다. # 예) mysqldump -u dbUser -p password -A > db_dump.sql 쿠버네티스의 mySQL pod를 dump할 시 kubectl exec -it [podName] -n [namespace] -- mysqldump -u [dbUser] -p[password] [dbName] > [scriptName].sql dump한 파일을 복원할 시 kubectl exec -[it | -i] [podName] -n [nameSpace] -- mysql -u [dbUser] -p[password] [dbName] < [scriptName].sql 쉘스크립트 예제 # 모든 DB를 dump 후 현재 날짜를 이름으로 sql 파일을 저..

Linux 2022.09.01
반응형