일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- MySQL
- cookie
- Dinosaur
- Python
- Sequelize
- 자료구조
- game
- OCR
- Bull
- TypeScript
- react
- 정렬
- class
- 게임
- typeORM
- AWS
- mongoose
- dfs
- MongoDB
- Queue
- Express
- nestjs
- nodejs
- jest
- Nest.js
- GIT
- JavaScript
- flask
- 공룡게임
- Today
- Total
목록MySQL (15)
포시코딩
Dump database from Docker docker exec {container} /usr/bin/mysqldump -u {username} --password={password} {database} > {filename}.sql Restore database using Docker cat filename.sql | docker exec -i {container} /usr/bin/mysql -u {username} --password={password} {database_name} --verbose --verbose, -v: 커맨드가 실행되는 동안 어떤 작업이 진행되고 있는지 상세 정보를 출력 * mariadb일 경우 /usr/bin/mysql 대신 mariadb-dump를 쓰면 된다고 한다. 설..
개요 회사에서 DBeaver를 통해 카페24 측 DB에 접속했더니 위와 같이 한글이 다 깨져서 나오고 있었다. 일단 실제 사용자 입장에서 한글이 깨진다는 보고는 없었기에 내 컴퓨터나 DBeaver 등 무슨 설정 관련해서 이상한듯 싶었음 문제 확인 SHOW variables LIKE 'c%'; 한글이 잘 나오는 서버 디비와 비교해보니 위와 같이 일정 부분 다르다는 것을 확인할 수 있었다. 그렇게 몇가지 확인해보니 MySQL에 대해 MariaDB 드라이버를 사용하는 문제와 해당 카페24의 MySQL이 옛날 버전이라 현재 내가 사용하는 버전이 최신이어서 발생하는 문제 두가지가 같이 발생하는 것으로 파악됐다. 해결방법 MySQL 선택 하단 Driver Settings로 들어간다. 들어간 후 Libraries에서..
MySQL, MariaDB 이미지 저장 docker ps -a docker images 먼저 옮길 대상이 되는 컨테이너와 일치하는 이미지 확인 sudo docker save -o my_image.tar my_image:tag -o: 'output'의 약자, 이미지를 아카이브 파일로 출력할 위치나 경로를 지정하는데 사용 추출하면 권한 때문에 빨갛게 나오는데 옮기려면 권한이 필요하니 chmod를 통해 755로 바꿔준다. sudo chmod 755 mariadb_10.5.tar 파일 복사 파일은 Filezila로 옮겼다. (해당 부분은 생략) 이미지 불러오기 docker load -i mariadb_10.5.tar -i: input 이미지를 불러온 모습 컨테이너 생성 및 실행 Docker 네트워크 생성 doc..
해결 전 3월 16일 11시 51분에 schedule은 3월 16일 13시로 저장 local schedule, createdAt 둘 다 값 그대로 들어갔다. RDS schedule은 값 그대로, createdAt은 9시간 마이너스된 값이 들어감 local schedule, createdAt 각각 9시간씩 마이너스 RDS DB 값이 그대로 나오고 있음 해결 후 기존에 schedule에 대해 string으로 전달되어 class-validator를 통해 강제로 date 타입으로 변환되는 값을 db에 넣었는데 new Date('날짜시간') 값으로 전달하여 강제 date 타입 변환 없이 db에 넣게끔 하니 정상적으로 동작되었다. 아래는 3월16일 13시에 schedule을 3월16일 14시로 등록한 모습. loc..
개요 windows에서 Nest.js 프로젝트를 받아 npm i 한 후 .env 에서 MySQL 정보 세팅하고 서버 실행했더니 ERROR [TypeOrmModule] Unable to connect to the database. Retrying (1) 콘솔에서 이런 에러가 계속 뜨며 서버가 실행되지 않았다. MySQL connect 관련에러로 보이는데 이전 프로젝트에선 잘 연결했었고 저때 당시에도 DBeaver나 MySQL Workbench로는 잘 접속되는 상태라 뭔가 MySQL 내부 세팅이 바뀐건가 해서 검색을 이리저리 해보았다. 해결방법 root 사용자에 대해 뭔가 세팅이 변해서 발생한 문제였다. SELECT Host, user, plugin, authentication_string FROM mysq..
개요 내가 사용하는 테이블 컬럼의 속성은 다음과 같다. 여기서 createdAt, updatedAt은 데이터를 넣을 때 자동으로 넣는 시간이 들어간다. 하지만 time zone 문제로 인해 현재 시간보다 정확히 9시간 전의 시간으로 들어가게 되는데 문득 나는 여기서 pickup에 대한 시간은 사용자가 선택해서 넣는데 그럼 동일한 시간에 대해 pickup 시간만 다른거 아냐? 라는 생각이 들었다. 만약 그렇다면 api를 통해 받은 해당 테이블의 데이터에 대해 createdAt은 9시간을 더하고 pickup은 9시간을 안더한 값을 쓰는 어지러운 상황이 연출될 것이다. 일단 진짜 생각한대로 그런지 테스트 해보았다. 알게된 사실 데이터 넣는 시간에 맞춰 pickup 데이터도 동일하게 선택해 넣었는데 놀랍게도 알..
Sequelize란? Node.js의 대표적인 ORM인 Sequelize는 MySQL, PostgreSQL, MariaDB 등 많은 RDBMS를 지원하고 Promise 기반으로 구현되었기 때문에 비동기 로직을 편리하게 작성할 수 있다. MongoDB 사용할 때 Mongoose를 사용해봤다면 이해하기 쉬울것이다. 설치 및 세팅 DB 생성 npm i sequelize mysql2 npm i sequelize-cli -D npx sequelize init 설치하면 아래와 같은 폴더구조가 생긴다. 내 프로젝트 폴더 이름 ├── models │ └── index.js ├── config │ └── config.json ├── migrations ├── seeders ├── package-lock.json └── ..
# mysql 접속 (커맨드창) mysql -uroot -p > 비밀번호 입력 # 데이터베이스 확인 SHOW DATABASES; # mysql 데이터 베이스 USE mysql; # 선택된 데이터베이스 확인 SELECT DATABASE(); # 현재 유저 확인 SELECT USER(); # user 테이블 살펴보기 SELECT Host, `User` FROM USER; # sparta 계정 삭제 (sparta 계정 있을시) DROP USER sparta@localhost; # 사용자 추가 CREATE USER 'sparta'@'localhost' identified BY '12345678'; # 패스워드 정책 에러시(mysql8) set global validate_password.policy=LOW; #..
개요 및 문제발견 팀프로젝트에서 pymysql을 통해 mysql과 연동을 하기로 결정했다. app.py 각 함수에서 db를 호출해 쓰고 데이터 처리 후 db.close() 해주는 방식으로 만들었는데 만들고보니 코드가 너무 더러웠다. (before) db = pymysql.connect( host='127.0.0.1', user='root', db='dog94', password='dog94', charset='utf8') curs = db.cursor(pymysql.cursors.DictCursor) email_receive = request.form.get("email_give") curs.execute('SELECT * FROM user WHERE email = %s', (email_receive))..