- Structed : 구조화된 (Exel 처럼 필드 값으로 같은 형식으로 구조화된 데이터) - Query : 질의, 검색, 저장되어 있는 정보를 필드값 으로 필터링 할 수 있는 - Language : 언어
mysql --login-path=아이디
use 데이터베이스명
insert into Id_List(name,url,id,pw,email,description) VALUES(
"MEW",
"https://www.myetherwallet.com/",
"TymHEfDtHkERkCUhjxc7FDYO5Zt5tyUBxAJWDvChgGklQAFBXNU4EXLemwBjoXL4T5e1O/NqOlj2iA678XyhSkhsLLne223WJXwnwBB8Vr8=",
"RsKOhogAZSGx0524Ef7MsMAuj2kiLtpQ25t9F6YeRsz6crrag4ci9A2zCtUt0vu3/hF42erzYbkQa08kozJGtGHaXIUGK64TKbxqnEcd70xLnOkYIBEeXCtaIhmqRnPqaD+QHU0VWh19s20X7Lrm7l/UY1osqPzY3XJ0KoAX3F8dWitXiiKCMGGdN3sqkrEwq8zzS894RQUAePN9GmFwNLW7Ahaz3b5UsiXagIAbH4M/YsUgZKUx2wYKC1HN5C9sARusF5D9nWeAS/xZzZi4LiP7xBtLcDWHhUZzowX22sgYPuKTWuFXq3CHn3ms2eFDh2H++i1lGZ4eyKl+7jCajo45AMN8/mTjAKljpjCWnILvnJzriOtddkQqHKlh5JmJuFVqebueclq0L6DTg7XjRMXKKd1pgevV2kboG5TJoH1XGsjG9olD/LQTTSaX2oBWZdi8vQCP15AZc7jWKldPTK7D+TKcLECGQ4yFmlX3OXKn4co1JyTRqcgF8+T3e1ZZNcOO3LS+ssyfAG69eRJeS+d367GCIJGCCvBJe1wpeU5J4rK6YargwuVto+mV0Jyax1BGkbHuScJTZQrkhZJcmu/aeh7Xb2/WAIE91NCgWACHTuzX3YcQigXN+Xc/fLNRcXdUS4lCIaXXW/4UWV2VMQ==",
"none",
"{filename:id,content:pw,pw:__CodeNick__,'use encript AES(__CodeNick__,id || pw)'}"
);
select * from Id_List;
pause
// Database 조회하기
SHOW DATABASES;
// 현재 사용중인 DATABASE 확인하기
SELECT DATABASE();
// 현재 사용중인 DATABASE 변경하기
USE {데이터베이스명};
// 데이터베이스 생성
CREATE DATABASE {데이터베이스명}
// 데이터베이스 삭제
DROP DATABASE {데이터베이스명}
// 테이블
SELECT {칼럼명}
SELECT {칼럼명} AS {임시로 바꾸어 보여줄 칼럼명}
FROM {테이블명}
WHERE {조건}
// 테이블 목록 확인
SHOW TABLES
// 테이블 구조 확인
DESCRIBE {테이블명}
// 테이블 제거
DROP TABLE {테이블명}
// 테이블 추가
CREATE TABLE {테이블명}(
{변수명} {변수타입} {옵션},
{변수명} {변수타입} {옵션},
{변수명} {변수타입} {옵션},
PRIMARY KEY(변수명));
// 테이블 추가 예시
CREATE TABLE TABLE1(
id INT(11) unsigned NOT NULL AUTO_INCREMENT, --양수, NULL 불가, 자동증가--
name VARCHAR(20) NULL,
created DATE NOT NULL,
createdTime DATETIME NOT NULL,
description VARCHAR(100), --NULL 가능--
code INT(11) NOT NULL DEFAULT '0',--기본값 0--
PRIMARY KEY(id));
// 테이블 칼럼 추가 (맨뒤)
ALTER TABLE {테이블명} ADD {칼럼명} {자료형}
// 테이블 칼럼 추가 (맨앞)
ALTER TABLE {테이블명} ADD {칼럼명} {자료형} FIRST
// 테이블 칼럼 추가 (지정)
ALTER TABLE {테이블명} ADD {칼럼명} {자료형} AFTER {앞칼럼명}
// 테이블 칼럼 제거
ALTER TABLE {테이블명} DROP {칼럼명}
// 테이블 칼럼 이동 (맨앞)
ALTER TABLE {테이블명} MODIFY COLUMN {칼럼명} {자료형} FIRST
// 테이블 칼럼 이동
ALTER TABLE {테이블명} MODIFY COLUMN {칼럼명} {자료형} AFTER {앞컬럼}
// 테이블 칼럼명&자료형 변경
ALTER TABLE {테이블명} CHANGE {기존 칼럼명} {칼럼명} {자료형}
// 테이블 행 생성
INSERT INTO {테이블명}({필드명},{필드명},...) VALUES({값},{값},...)
// 테이블 행 다수 생성 (node JS)
INSERT INTO ....
// 테이블 행 수정
UPDATE {테이블명} SET {칼럼명}={값} WHERE {조건}
// 테이블 행 삭제
DELETE FROM {테이블명} WHERE {조건}
// 계정확인
SELECT User,Host,plugin FROM mysql.user;
// 계정생성
CREATE USER '{계정명}'@'%' IDENTIFIED BY '{비밀번호}';
// 계정권한 설정
GRANT ALL PRIVILEGES ON {접근가능DB명}.{접근가능테이블} TO '{계정명}'@'%';
// 계정 비밀번호 변경
UPDATE USER SET password=PASSWORD('{비밀번호}') WHERE user='{계정명}';
// 권한 적용
FLUSH PRIVILEGES
// 원격 접속하기
mysql -h 도메인 -P 포트번호 -u 아이디 -p
mysql_config_editor set --login-path={접속설정명} --host={호스트주소} --user={유저명} --password --port={포트번호}
## 비밀번호 입력하라고 뜬다
Enter password : {비밀번호}
## 제대로 설정되었는지 확인
mysql_config_editor print --all
## 사용 아래와 같이 .bat 에다가 적어주면돼
mysql --login-path={접속설정명}
mysqldump -h {호스트} -P {포트} -u {계정명} -p {db 명} > {생성할 백업파일명}.sql
// 모든 DB백업. --all-databases 옵션을 사용한다.
mysqldump -u아이디 -p --all-databases > 저장할파일명.sql
ex) mysqldump -uroot -p --all-databases > all.sql
// 모든 DB복구
mysqldump -u아이디 -p < 불러올파일명.sql
ex) mysqldump -uroot -p < all.sql
// DB백업. 백업시 DB명을 입력해 백업한다.
mysqldump -u아이디 -p DB명 > 저장할파일명.sql
ex) mysqldump -uroot -p text > test.sql
// DB복원. 복원시 데이터가 들어갈 DB명을 입력한다.
mysql -u아이디 -p DB명 < 불러올파일명.sql
ex) mysql -uroot -p test < test.sql
// Table백업. DB 백업과 비슷하며 Table명을 추가로 적어준다.
mysqldump -u아이디 -p DB명 Table명> 저장할파일명.sql
ex) mysqldump -uroot -p test member > member.sql
Table복원. DB복원과 같다. 즉, 아래와 같은 명령어는 없다.
mysql -u아이디 -p DB명 Table명 < 불러올파일명.sql
// Table Schema. Table의 구조를 백업한다. 데이터는 백업하지 않기때문에 유의한다. Table명을 생략하면 DB내의 모든 Table의 Schema를 백업한다.
mysqldump -u아이디 -p DB명 Table명 > 저장할파일명.sql
mysqldump -u[user] -p -h[호스트] [데이터베이스] [테이블명] > [저장할 이름].sql
mysqldump: Couldn’t execute ‘SELECT COLUMN_NAME,
JSON_EXTRACT(HISTOGRAM, ‘$.“number-of-buckets-specified”’)
FROM information_schema.COLUMN_STATISTICS
WHERE SCHEMA_NAME = ‘DB 이름’ AND TABLE_NAME = ‘테이블 이름‘;’: Unknown table ‘COLUMN_STATISTICS’ in information_schema (1109)
MySQL 공식 문서를 찾아보니, 8.0부터 새로 추가된 옵션 때문에 나는 에러이더라고요. 해당 옵션이 활성화되어있으면 덤프 할 때 ANALYZE TABLE에 히스토리를 생성(?) 하는 것 같아요. 근데, 옵션은 1(on)로 되어있는 데 사용해야 할 테이블이 없어서 나는 오류입니다. 해결하는 방법은 두 가지가 있는데,
// column-statistics=0으로 주고 mysqldump 실행
mysqldump --column-statistics=0 -u[user] -p -h[호스트] [데이터베이스] [테이블명] > [저장할 이름].sql
// config 파일에 default 값 세팅 (/etc/my.cnf 또는 ~ / .my.cnf 같은 파일에 위 설정을 추가하는 것입니다.)
[mysqldump]
column-statistics=0