저는 이제 도커에서 마리아디비를 굴릴거기때문에,
윈도우에 설치했던 마리아디비를 삭제하겠습니다.
1. 설정 > 앱 > MariaDB 선택 > 제거

2. Next

3. Remove

4. Remove data (디비안에 데이타를 유지하려면 Keep data 선택)

5. Remove

6. Finish

저는 이제 도커에서 마리아디비를 굴릴거기때문에,
윈도우에 설치했던 마리아디비를 삭제하겠습니다.
윈도우의 도커에 마리아디비를 설치해보겠습니다.
이제 개발용 서버 프로그램들을 도커에 설치해주면 각질이 넘쳐나는 하드디스크를 사용하지 않아도 됩니다.
깨끗한 컴퓨터를 사용할 수 있는것이죠.
나중에 이사가기도 쉽고 도커만 끄면 더 빠른 컴퓨터가 되니까 얼마나 좃습니까...
docker --version
docker pull mariadb
실제로는 스샷보다 더 멋있게? 나옵니다. 최신버전 다운로드 상태가 표시되요.
docker container run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=1234 -v D:\DOCKER\MARIADB:/var/lib/mysql --name mariadb mariadb
# 디비데이터를 컨테이너에 저장하려면 -v옵션을 안주면 됩니다.
docker container run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=1234 --name mariadb mariadb
docker ps -a
docker exec -i -t mariadb bash
mysql -uroot -p1234
create database test;
create user 'kaudo'@'%' identified by '1234';
grant all privileges on test.* to 'kaudo'@'%';
flush privileges;
show databases;
Host, Port, Database, Username, Password 입력
MySql에는 테이블생성시 AUTO_INCREMENT만 추가해주면 자동증가가 설정되서 편합니다.
오라클은 MySql처럼 편리하진 않지만,
시퀀스를 생성해주고 그값을 조회해서 자동증가를 이용할 수 있습니다.
어쩌면 유지보수면에선 오라클같은 형식이 낳을지도...
암호를 물어보지 않지만 화면에 노출
mysqldump -u root -p[암호] [테이블명] > [백업파일명]
암호물어봄
mysqldump -u root -p [테이블명] > [백업파일명]
전체백업
mysqldump -u root -p --all-databases > [백업파일명]
이딴에러뜨면
mysqldump: Got error: 1030: Got error 1 from storage engine when using LOCK TABLES
mysqldump -u root -p --all-databases --skip-lock-tables > [백업파일명]
mssql
SQL: SELECT * INTO [생성될테이블] FROM [기존테이블]
새 테이블에서 필요없는 컬럼 제거 [테이블명에 오른쪽 클릭 > 디자인]
mssql 두번 치환 쿼리
UPDATE [테이블명]
SET [컬럼명]=REPLACE(CONVERT(varchar(max),
REPLACE(CONVERT(varchar(max),[컬럼명]),'[찾을내용1]','[바꿀내용1]'))
,'[찾을내용2]','[바꿀내용2]')
WHERE [컬럼명] LIKE '%[조건]%'
* asp나 mssql은 엔터값은 char(13)+char(10)
mssql 엔터값 검색, RETURN 13, NEWLINE 10, TAB 9
SQL: SELECT * FROM [테이블명] WHERE [컬럼명]='[조건]' AND [컬럼명] LIKE '%'+CHAR(13)+'%'
mssql 날짜데이타를 타임스탬프로 출력
SQL: SELECT TOP 100 DATEDIFF(second,'1970-01-01 09:00:00',[데이트컬럼명]) FROM [테이블명]
* 1970-01-01 09:00:00은 고정값입니다.
mysql
SQL: LOAD DATA INFILE '[백업파일명]' INTO TABLE [테이블명] FIELDS TERMINATED BY '[필드구분자:,]' OPTIONALLY ENCLOSED BY '[따옴표:"]' LINES TERMINATED BY '[각행구분:\n]'
SQL: LOAD DATA INFILE '[백업파일명]' INTO TABLE [테이블명] ([컬럼],[컬럼]...)
* 입력받을 테이블은 미리 생성되어있어야 함
mysql utf8로 복구/복원
CMD: mysql -u [사용자] -p --default-character-set=utf8 [데이타베이스] [테이블] < [덤프파일]
* 덤프파일은 내용이 "insert into ...."로 되어있어야함 (mysqldump로 뽑은;)
mysql replace 치환
SQL: UPDATE [테이블명] SET [컬럼명]=REPLACE(REPLACE([컬럼명],'[찾을내용1]','[바꿀내용1]'),' [찾을내용2]','[바꿀내용2]')
|
| |||||||