본문 바로가기

MySQL

Python 에서 Mysql 에 한글, 특수문자 혹은 이모티콘 입력 시 Incorrect string value 와 같은 에러가 발생할 경우 Python 에서 Mysql Insert 사용시 아래와 같이 Incorrect string value 에러가 할 경우 원인은 보통 2가지 입니다. Incorrect string value: '\xF3\xB0\x8B\xAF\xEA\xB8' for column 'content' at row 1 원인 1. Mysql 혹은 MariaDB 의 Charter set ( 문자셋 ) 문제 보통 DB 의 Charter set 문제일 경우가 많습니다. 이 경우 DB 의 Character set 을 utf8 혹은 utf8mb4 로 변경해 주시거나 업데이트 해주시면 됩니다. 테이블 업데이트 쿼리는 대충 아래와 같습니다. ALTER TABLE table_name CONVERT TO CHARACTER SET utf8mb4 COL..
Linux ( CentOS 혹은 Ubuntu 등 ) 에서 명령어를 백그라운드(Background)로 실행하기 리눅스에서 간혹 특정 명령어 ( 고용량 다운로드, 데이터처리, 데이터 복구 등 )를 반나절 혹은 하루 이상 유지해야 할 때가 있는데요. 이때 해당 명령어를 백그라운드(Background)에서 SSH 접속이 끊어지더라도 유지시키는 방법입니다. 일단 명령어를 라고 했을 때 기본 사용방법은 아래와 같으며 $ nohup 1>/dev/null 2>&1 & 예를 들어 보자면 대충 아래와 같이 사용하시면 됩니다. $ nohup mysql -uroot -pPASSWORD DB_NAME < /data/backup/db_backup.sql 1>/dev/null 2>&1 & 간단히 설명드리면 nohup명령어를 로그아웃 된 상태에서도 유지하도록 해줍니다. 예를 들어 SSH로 접속하여 실행 후 접속이 끊어진다고 해도 명령어가 ..
Mysql 혹은 MariaDB 에서 데이터베이스 삭제시 ERROR 1010 (HY000): Error dropping database 에러 발생시 간혹 어딘가 꼬여서.. 아래와 같이 drop database를 했는데 ERROR 1010 (HY000): Error dropping database 에러 메시지와 함께 삭제가 안될 때가 있습니다. DROP DATABASE DB_NAME; ERROR 1010 (HY000): Error dropping database (can't rmdir './DB_NAME', errno: 66) 이때는 강제로 데이터베이스의 데이터 스토리지의 디렉터리를 삭제해 주시면 됩니다. 만약 스토리지 디렉터리가 /var/lib/mysql/이라면 db의 디렉터리는 /var/lib/mysql/DB_NAME이며 아래의 명령어로 삭제가 가능합니다. rm -rf /var/lib/mysql/DB_NAME * 주의 : 파일 삭제는 항상 조심해야..