본문 바로가기

전체 글40

[MySQL] 괄호를 포함한 기존 데이터 내용 수정하기 문제 상황 기존에 저장했던 데이터의 수가 굉장히 많았고 이와 연관된 데이터가 많아 함부로 데이터를 삭제하거나 행 자체를 수정하기 어려워, 괄호와 내부 내용을 포함하고 있는 데이터들과 같이 수정이 필요한 한 속성의 데이터들만 골라서 괄호를 포함하여 괄호 내부 내용을 삭제할 수 있도록 하는 코드를 작성해야함 해결 방법 update {테이블명} set {컬럼명} = CONCAT( SUBSTRING_INDEX({컬럼명}, '(', 1), SUBSTRING_INDEX({컬럼명}, ')', -1) ) WHERE {컬럼명} REGEXP '\\(.*\\)'; 발생 가능한 오류 Error Code: 1175. You are using safe update mode and you tried to update a table.. 2023. 12. 1.
[프로젝트] 포스트맨 이미지 업로드 및 에러 해결 방법 포스트맨에서 이미지와 텍스트 데이터를 같이 전송하기 위해서는 텍스트: Body > form-data > key 오른쪽 토글에서 file과 text 중 text 선택 사진: Body > form-data > key 오른쪽 토글에서 file과 text 중 file 선택 위와 같이 되면 데이터를 보내기 전까지의 과정은 모두 끝났다. Send를 누르면... 전송에 실패하며 Couldn't upload file 오류가 났다. 해결하기 위해서는 아래의 방법을 따르면 된다. 1. 톱니바퀴 > Settings 클릭 2. General (Setting 접근 시, 디폴트) > Location 확인 및 Allow reading files outside working directory OFF -> ON 으로 변경 3. 나의 .. 2023. 10. 15.
원격 서버에 mysql 띄운 후 workbench로 접속 확인하기 네이버 클라우드에서 제공하는 클라우드 서버를 사용하여 프로젝트를 원격으로 띄웠다면 사용할 데이터베이스에 대한 설정을 해줘야 한다. 그러나 네이버 클라우드에서 제공하는 스토리지 서비스가 꽤 비싸다고 들어 서버 내부에 mysql을 설치하여 사용하기로 결정하고 아래는 해당 과정을 진행하면서 기록한 내용이다. 아래 과정을 진행하기 전에 mysql에 접속하기 위해서 포트번호를 개인적으로 지정했다면 해당 번호를, 디폴트로 설정되어있는 것을 따로 변경하지 않았다면 3306 포트를 뚫어놔야한다. 1. 서버에 mysql 설치하기 - 원격 서버에 접속 - mysql 설치 sudo apt-get install mysql-server 2. mysql 실행 및 root 비밀번호 설정 - mysql 실행하기 systemctl s.. 2023. 10. 1.
[MYSQL] 테이블에 있는 모든 데이터 삭제하기 UI로 하면 당연히 편하고 좋긴 하겠지만 약 1000개의 데이터를 삭제하려고 할 때, 한 번에 UI로 지워지지 않아서 명령어를 사용하기로 했다. Truncate 사용하기 Truncate의 경우, 테이블을 초기상태로 되돌릴 수 있는 명령어이다. 삭제 후 되돌릴 수 없기 때문에 신중하게 사용해야하며 전체 삭제만 가능하다. 사용하면 용량도 줄어들고 인덱스 또한 삭제될 수 있다. truncate 테이블명; Delete 사용하기 delete의 경우, 조건에 맞는 레코드만 삭제하는 것이 가능하고 where 로 따로 조건을 주지 않는다면, 내용을 전부 삭제하는 것도 가능하다. 데이터만 삭제될 뿐, 용량이 줄어들지 않고 삭제된 내용은 되돌릴 수 있다는 차이점이 있다. 속도가 느리기 때문에 전체를 다 삭제하려면 trun.. 2023. 7. 5.
[프로젝트] DB 해킹 해결하기 MYSQL환경에서 해킹 당한 DB 문제 해결하기 1. 공인 IP 변경하기 이는 네이버 클라우드에서 공인 IP 신청해뒀던 걸 반납하고 재신청하여 새로운 IP로 바꿨다. 2. mysql 설정 파일 접근해서 포트번호 3306에서 다른 번호로 바꾸기 cd /etc/mysql/mysql.conf.d vi mysqld.cnf 이곳에 들어가면 기본 포트번호가 이런 식으로 설정되어있는 것을 알 수 있다. 새로운 포트번호로 바꾸고 저장 후 끈다. 3. 기존에 있던 사용자 정보 지우기 drop user '이름'@'ip'; 4. 새로운 사용자를 만들고 root 비밀번호 변경하기 새로운 사용자를 만든 후 권한을 설정하는 방법은 아래와 같다. create user '이름'@'특정ip' identified by '비밃번호'; g.. 2023. 7. 5.
[프로젝트] DB 해킹 이틀 만에 진행하던 프로젝트의 DB를 들어가봤더니 충격적이지 않을 수 없는 상태였다. 테이블 이름부터가 README 길래 도대체 뭐길래 테이블 조회가 하나도 안되는 거지 쎄함을 느끼고 바로 조회를 해봤다. I have backed up all your databases. To recover them you must pay 0.012 Bitcoin to this address: 1G3BfVSLmpva74BK3iXYUB92pJENJqgAga. After your payment email me at rdatabase.2104@onionmail.org with your server IP and transaction ID. Emails without transaction ID will be ignored. 딱 봐.. 2023. 7. 4.
[오류해결] mysql where 조건 사용 시 콤마? and? 몇 번은 틀렸는데 아직도 뭐가 맞는지 정확히 모르는 것 같아서 써두면서 제대로 기억하겠습니다 ,, code: 'ER_PARSE_ERROR', errno: 1064, sql: 'SELECT * FROM 테이블 이름 WHERE user_id = ?, 속성이름1 =?, 속성이름2 =?', sqlState: '42000', sqlMessage: "You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax t o use near ' 속성이름1 =?, 속성이름2 =?' at line 1" WHERE 로 특정 데이터를 조회하려고 할 때 여러 조건을 사용한다면 .. 2023. 6. 28.
[프로젝트] mysql 오류 mysql에서 속성 이름을 하나 바꾸려고 하는데 계속해서 오류가 나는 현상을 발견했다. 이유를 찾아보니 MySQL 8.0에서 리눅스 MySQL 5.7로 데이터베이스 파일을 옮기려고 할 때 발생하는 오류라고 한다. 처음에 리눅스 내부에 db를 옮길 때 collation을 utf8mb4_0900_ai_ci 으로 설정한 부분이 다 오류가 나서 지우고 character set utf8 만 설정했었는데 collation 을 하나도 설정하지 않았더니 일부 속성이 제대로 반영되지 않는 것을 확인할 수 있었다. 그래서 해결 방법을 확인해보니까 utf8mb4_0900_ai_ci 가 아니라 utf8mb4_general_ci 로 싹 다 변경해주면 된다고 하여 데이터베이스의 collation을 다 utf8mb4_general.. 2023. 6. 25.
[프로젝트] puppeteer 오류 해결 puppeteer을 사용하여 크롤링을 하려고 했으나 Failed to launch the browser process 라는 오류를 발견했다. 아래와 같이 해결하면 된다고 해서 코드를 추가하고 실행을 해봤으나 안됐다.. args: ["--no-sandbox", "--disable-setuid-sandbox"], 만약 이래도 안된다면 우분투 환경 기준으로 필요한 종속성을 모두 설치해야한다고 한다. sudo apt update && \ sudo apt install -y \ ca-certificates \ fonts-liberation \ libappindicator3-1 \ libasound2 \ libatk-bridge2.0-0 \ libatk1.0-0 \ libc6 \ libcairo2 \ libcups.. 2023. 6. 25.