1. dump파일을 저장할 곳을 생성해서 이동

2. 백업: mysqldump -u root -p DB명 > 파일명.sql

3. 복원: mysql -u root -p DB명 < 파일명.sql

3-1. 복원은 mysql 커맨드 상태에서 use DB명하고, source 파일명.sql 로 해도 가능함

다른 스키마도 다른 설정을 바꿔줄 필요없이 복원이 가능함

// 1. MySQL 정지
systemctl stop mysqld

// 2. MySQL 환경변수를 변경해서 비밀번호없이 root 로그인할 수 있도록 변경
systemctl set-environment MYSQLD_OPTS="--skip-grant-tables"

// 3. MySQL 재시작
systemctl start mysqld

// 4. MySQL 접속. 현재 비번 입력없이 접속이 가능하므로 그냥 엔터침
mysql -u root -p

// 5. root 비밀번호을 null 초기화 후 일단 MySQL 접속해제
UPDATE mysql.user SET authentication_string = null where user = 'root';
FLUSH PRIVILEGES;
quit

// 6. MySQL 재접속. 현재 비번은 null이므로 엔터치고 접속하면 됨
mysql -u root -p

// 7. root 비밀번호 재설정 후 MySQL 접속해제
alter user 'root'@'localhost' identified with caching_sha2_password by '새비밀번호';
FLUSH PRIVILEGES;
quit

// 8. MySQL 정지 후 환경변수 제거 후 다시 재시작
systemctl stop mysqld
systemctl unset-environment MYSQLD_OPTS
systemctl start mysqld

 

'DB > MySQL' 카테고리의 다른 글

DB Dump 및 복원  (0) 2022.06.22
SELECT 와 UPDATE 동시에 하기  (0) 2021.06.17
datetime 컬럼을 분단위로 group by 하기  (1) 2020.09.29
5.7 DB 파일로 복원  (0) 2020.06.04
외부 접근 허용  (0) 2019.10.28

UPDATE [테이블A],[Select 질의] B SET [테이블A].필드 = B.필드 WHERE [테이블A].id = B.id

출처: https://shakddoo.tistory.com/entry/Mysql-Select결과를-Update-문에-반영하기 [겨울팥죽 여름빙수]

'DB > MySQL' 카테고리의 다른 글

DB Dump 및 복원  (0) 2022.06.22
CentOS7, MySQL8 에서 root 계정 비밀번호를 분실한 경우  (0) 2022.06.22
datetime 컬럼을 분단위로 group by 하기  (1) 2020.09.29
5.7 DB 파일로 복원  (0) 2020.06.04
외부 접근 허용  (0) 2019.10.28

GROUP BY DATE(컬럼명), HOUR(컬럼명), FLOOR(MINUTE(컬럼명)/1)

'DB > MySQL' 카테고리의 다른 글

CentOS7, MySQL8 에서 root 계정 비밀번호를 분실한 경우  (0) 2022.06.22
SELECT 와 UPDATE 동시에 하기  (0) 2021.06.17
5.7 DB 파일로 복원  (0) 2020.06.04
외부 접근 허용  (0) 2019.10.28
SELECT UPDATE  (0) 2011.06.30

0. MySQL 실행 중지

설치경로\bin\mysqld\mysqladmin -u root -p shutdown

 

1.

기본 경로: C:\ProgramData\MySQL\MySQL Server 5.7\Data\

기존 DB 스키마 폴더와 ibdata1 파일을 덮어 씌우기

 

2. MySQL 재시작

 

'DB > MySQL' 카테고리의 다른 글

SELECT 와 UPDATE 동시에 하기  (0) 2021.06.17
datetime 컬럼을 분단위로 group by 하기  (1) 2020.09.29
외부 접근 허용  (0) 2019.10.28
SELECT UPDATE  (0) 2011.06.30
Create table select, Insert select  (0) 2011.06.17

1. 방화벽

인바운드규칙 / 연결허용 / tcp 3306

 

2. DB의 권한

-- 새 유저 생성할거면 이 구문부터
CREATE USER 계정이름@'%' IDENTIFIED BY '비밀번호';

-- 기존유저 혹은 새유저에 권한 부여
GRANT ALL PRIVILEGES ON 데이터베이스이름.* TO 계정이름@'%';
FLUSH PRIVILEGES;

 

여기까지 해서 해결되었지만 안된다면 이 분 글을 더 참고하면 됨

출처: https://blog.jiktong.kr/2221

'DB > MySQL' 카테고리의 다른 글

datetime 컬럼을 분단위로 group by 하기  (1) 2020.09.29
5.7 DB 파일로 복원  (0) 2020.06.04
SELECT UPDATE  (0) 2011.06.30
Create table select, Insert select  (0) 2011.06.17
스키마내 테이블 수  (0) 2011.06.17
UPDATE table1 AS a
SET col1=(SELECT col1 FROM table2 AS b WHERE a.col2 = b.col2)


'DB > MySQL' 카테고리의 다른 글

datetime 컬럼을 분단위로 group by 하기  (1) 2020.09.29
5.7 DB 파일로 복원  (0) 2020.06.04
외부 접근 허용  (0) 2019.10.28
Create table select, Insert select  (0) 2011.06.17
스키마내 테이블 수  (0) 2011.06.17

Create table select

테이블을 생성하여 결과값을 입력하는 구문이다.


원형>

CREATE TABLE 생성할 테이블명 SELECT * FROM 가져올 테이블명


>

CREATE TABLE test8.zipcode SELECT * FROM test5.zipcode



Insert select

이미 테이블이 만들어져 있는 경우 결과값만 입력하는 구문이다.


원형>

INSERT INTO 입력할 테이블명 SELECT 필드1, 필드2, 필드3 FROM test_source


>

INSERT INTO copyTable SELECT field1, field2, field3 FROM orgTable



'DB > MySQL' 카테고리의 다른 글

datetime 컬럼을 분단위로 group by 하기  (1) 2020.09.29
5.7 DB 파일로 복원  (0) 2020.06.04
외부 접근 허용  (0) 2019.10.28
SELECT UPDATE  (0) 2011.06.30
스키마내 테이블 수  (0) 2011.06.17

원형>

SELECT count(*)

FROM information_schema.tables

WHERE table_schema = '스키마이름'


>

SELECT count(*) AS number_of_tables

FROM information_schema.tables

WHERE table_schema = 'test5'


'DB > MySQL' 카테고리의 다른 글

datetime 컬럼을 분단위로 group by 하기  (1) 2020.09.29
5.7 DB 파일로 복원  (0) 2020.06.04
외부 접근 허용  (0) 2019.10.28
SELECT UPDATE  (0) 2011.06.30
Create table select, Insert select  (0) 2011.06.17

+ Recent posts