Backend/데이터베이스

MariaDB 명령어 정리 (테이블/유저/백업/복구)

냠냠:) 2024. 2. 13. 12:44

테이블 관리

[테이블 생성]

create database 디비명;

 

[테이블 삭제]

SET FOREIGN_KEY_CHECKS = 0; /*foreingkey 제약조건 비활성화*/
set @tables = null;
select group_concat(table_schema, '.', table_name) into @tables from information_schema.tables where table_schema = '스키마명';
set @tables = concat('drop table ', @tables);
prepare stmt from @tables;
execute stmt;
deallocate prepare stmt;
SET FOREIGN_KEY_CHECKS = 1; /*foreingkey 제약조건 활성화*/

 

[컬럼 추가]

ALTER table 테이블명 add 컬럼명 varchar(1) default 'Y' COMMENT '커맨트입니다.' after 컬럼명;

 

[전체 테이블에서 컬럼 찾기]

SELECT TABLE_SCHEMA, TABLE_NAME, COLUMN_NAME
FROM INFORMATION_SCHEMA.COLUMNS
WHERE COLUMN_NAME LIKE '%컬럼명%';

 

 

 

유저 관리

[유저 생성]

CREATE USER '아이디'@'%' IDENTIFIED BY '비밀번호';

 

[권한 부여]

(권한 부여 with 유저생성)
GRANT ALL PRIVILEGES ON 스키마명.* TO '생성할유저명'@'localhost' IDENTIFIED BY '패스워드' WITH GRANT OPTION;


(권한 부여)
GRANT ALL PRIVILEGES ON 스키마명.* TO '생성할유저명'@'localhost';

#localhost 대신 '%' or '111.111.%' or '111.111.111.111' 등 ip 범위설정 가능

 

[권한 확인, CLI]

use mysql;
select host,user from user;

[권한 리프레시]

FLUSH PRIVILEGES;

 

계정 생성 및 권한 더보기

 

 

백업 및 덤프

[백업]
(/mariadb/bin 디렉토리에서 실행)

./mysqldump --routines --triggers -u maria -p 스키마명 --default-character-set utf8 > ~/경로/파일명.sql

 

[원격지 백업]

mysqldump -h 호스트(도메인orIP) --routines --triggers -u 유저명 -p 스키마명 --default-character-set utf8 > ~/로컬경로/파일명.sql

 

[덤프]
(/mariadb/bin 디렉토리에서 실행)

./mysql -u maria -p 스키마명 < ~/경로/파일명.sql

 

 

DB 접속 시 필요정보

  • ip
  • port
  • database
  • username
  • password

 

관련 링크

1. database vs scheme in MYSQL

https://stackoverflow.com/questions/11618277/difference-between-schema-database-in-mysql

반응형