게시판 페이지네이션 SQL

sql
1
2
3
4
5
6
const page = 1;

const query = `SELECT * FROM notice WHERE use_flag='Y' ORDER BY idx DESC LIMIT ?,?`;
const queryArgs = [10 * (page - 1), 10];

return client.query(query, queryArgs);
  • notice 테이블에서 page값에 따라 게시글 10개를 가져오는 쿼리이다
  • limit 을 이용해서 구현하였다

SELECT * FROM notice LIMIT 0,10
// 0번째부터 10개를 가져온다는 의미이다

SELECT * FROM notice LIMIT 20,10
// 20번째부터 10개를 가져온다는 의미이다

참고

DB 시작할 때 쓰는 명령어

terminal
1
mariadb
sql
1
2
3
4
5
6
7
8
9
10
-- 'webtest'라는 이름의 db 생성
create database webtest;

-- 'sung'이름의 비밀번호는 '1234'인 유저생성 및 권한 주기
create user sung@localhost identified by '1234';
-- grant select on webtest.* to sung@localhost identified by '1234';
GRANT ALL PRIVILEGES ON webtest.* TO sung@localhost IDENTIFIED BY '1234' WITH GRANT OPTION;

-- 수정사항 반영
flush privileges;

rds sqldump 하기

cmd
1
2
3
4
5
6
7
8
mysqldump -h database-1.aaaaaaaaaaaa.ap-northeast-2.rds.amazonaws.com ^
-u root ^
-p12341234 ^
--port=3306 ^
--single-transaction ^
--routines ^
--triggers ^
--databases TestDB > aaaa.sql
  • 윈도우 cmd에서 aws rds mysqldump를 해보았다

윈도우 따라하기

  • cmd를 관리자 권한으로 실행한다
cmd
1
cd C:\Program Files\MariaDB 10.5\bin
  • mysqldump.exe가 있는 경로까지 이동한다. (나는 로컬에 마리아 디비가 설치되어 있어서..)
cmd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
mysqldump -h {rds 엔드포인트} ^
-u root ^
-p{rds 비밀번호} ^
--port=3306 ^
--single-transaction ^
--routines ^
--triggers ^
--databases {db명} > {백업파일위치}

mysqldump -h database-1.aaaaaaaaaaaa.ap-northeast-2.rds.amazonaws.com ^
-u root ^
-p12341234 ^
--port=3306 ^
--single-transaction ^
--routines ^
--triggers ^
--databases TestDB > aaaa.sql
  • 자신에 맞게 설정하고 명령을 붙여넣는다

sqldump

  • 내 mysql, mariadb 백업, 덤프하는 방법

mysqldump

cmd
1
2
3
mysqldump -u root -p --databases {db_name} > {백업파일위치}

mysqldump -u root -p --databases mydb > backup.sql
  • 현재 db내용을 백업할 수 있다

‘mysqldump’은(는) 내부 또는 외부 명령, 실행할 수 있는 프로그램, 또는 배치 파일이 아닙니다

  • mysql 또는 mariadb의 경우…
  • db 설치 경로에 들어가서 mysqldump를 검색한다
  • 내 경우 C:\Program Files\MariaDB 10.5\bin이 경로에 있었다
  • 해당 위치에서 cmd를 실행시키고 명령을 실행해주면된다

액세스가 거부되었습니다

  • cmd를 관리자 권한으로 실행한다

mysql

1
2
3
mysql < {백업파일위치}

mysql < backup.sql
  • 이렇게 백업해둔 .sql파일로 복구할 수 있다