influx cli를 통해서 백업가능하다.

백업 공식문서 https://docs.influxdata.com/influxdb/v2/admin/backup-restore/backup/

influx backup [저장경로] -t [관리자초기토큰]

근데 골때리는게 저 관리자초기토큰이다.

아래의 명령어로 일반적인 관리자토큰으로 기존 토큰 목록을 조회할 수 있는데 influxdb UI와 달리 실제 token 값도 조회가 가능하다.

influx auth list -t [관리자토큰]

여기서 [read:/authorizations write:/authorizations read:/buckets write:/buckets read:/dashboards write:/dashboards read:/orgs write:/orgs read:/sources write:/sources read:/tasks write:/tasks read:/telegrafs write:/telegrafs read:/users write:/users read:/variables write:/variables read:/scrapers write:/scrapers read:/secrets write:/secrets read:/labels write:/labels read:/views write:/views read:/documents write:/documents read:/notificationRules write:/notificationRules read:/notificationEndpoints write:/notificationEndpoints read:/checks write:/checks read:/dbrp write:/dbrp read:/notebooks write:/notebooks read:/annotations write:/annotations read:/remotes write:/remotes read:/replications write:/replications] 이런 권한을 가진 토큰이 바로 저 관리자초기토큰인데 나의 경우에는 이게 없었다.

없는 경우 복원기능으로 복원해야 백업이 가능하다.(는 걸 뒤지고 뒤져서 포럼 어딘가의 답변에서 겨우 찾았다. 공식문서끼리 링크 좀 걸어줬으면 좋겠다.)

관리자초기토큰 복원 공식문서 https://docs.influxdata.com/influxdb/v2/reference/cli/influxd/recovery/auth/create-operator/

influxd recovery auth create-operator --bolt-path [bolt파일경로]
influxd recovery auth create-operator --org [organization이름] --username [관리자아이디] --bolt-path [bolt파일경로]

이 방식으로 관리자초기토큰을 복원하는데 성공했다. 이름은 [관리자아이디]'s Recovery Token
사실 간밤에 복원했을때는 recovery token 뭐 이런거랑 이거랑 2개였는데 오늘 출근하니까 한개는 없어지고 이거만 남았다ㅋㅋㅋ

bolt파일경로는 config.toml 파일에서 확인할 수 있다. config.toml 파일은 centos기준 /etc/influxdb/ 에 있다.

추후에 또 이 문제로 헤맬 수 있을 듯 하여 문서로 남겨놓는다.

 

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

EXEC sp_helptext 트리거명;


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

초간단 트리거 문법  (0) 2016.08.24
테이블 명세서 쿼리문  (0) 2014.09.23
0을 나누기 에러 대신 null 반환되도록 하기  (0) 2014.09.19
숫자 앞에 0으로 채우기  (0) 2014.09.04
SELECT UPDATE 구문  (0) 2014.04.17

DROP TRIGGER [트리거명]  -- 트리거 삭제


CREATE TRIGGER [트리거명] ON [테이블명]

AFTER INSERT,UPDATE,DELETE -- FOR INSERT,UPDATE,DELETE 와 같음

AS

BEGIN

DECLARE @action char(1) -- 구분자 변수선언

DECLARE @test nvarchar(20)  -- 셀렉트한 데이터 저장용 변수 선언


IF COLUMNS_UPDATED() > 0 -- insert or update

BEGIN

IF EXISTS (SELECT * FROM DELETED) -- update

SET @action = 'U'

ELSE

SET @action = 'I'

END

ELSE -- delete

BEGIN

SET @action = 'D'

END


SELECT Name,@action FROM DELETED;


-- 변수에 값넣기 - 첫번째. 데이터 주입

SELECT @test = 0


-- 변수에 값넣기 - 두번째. 타 테이블에서 불러오기

SELECT @test = col1 FROM table1


-- 변수에 값넣기 - 세번째. INSERT 혹은 UPDATE 한 데이터에서 가져오기

SELECT @test = col2

FROM inserted


-- IF문

IF @test = 0 BEGIN -- IF 조건이 참일때

SELECT 1 -- 조건 걸어넣고 쿼리문 없으면 에러나므로 방지용

END ELSE IF @test > 0 AND @test < 10 BEGIN -- ELSE IF 조건이 참일때

SELECT 1

END ELSE BEGIN -- ELSE 일때

SELECT 1

END

-- null 비교

-- @test is null, @test is not null


END

참고: http://rocabilly.tistory.com/48

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

트리거 소스보기  (0) 2016.10.31
테이블 명세서 쿼리문  (0) 2014.09.23
0을 나누기 에러 대신 null 반환되도록 하기  (0) 2014.09.19
숫자 앞에 0으로 채우기  (0) 2014.09.04
SELECT UPDATE 구문  (0) 2014.04.17

UPDATE 테이블1 a

INNER JOIN 테이블2 b ON a.컬럼1= b.컬럼1

SET a.컬럼2=b.컬럼2

출처: http://stackoverflow.com/questions/871905/use-select-inside-an-update-query

+ Recent posts