'MySQL'에 해당되는 글 6건
- 2021.03.18 윈도우10 마리아디비 제거, Uninstall MariaDB Windows 10 10
- 2021.03.17 윈도우10 도커에 마리아디비 설치, Install MariaDb on Docker Windows 10 10
- 2010.10.11 [ORACLE/MYSQL] 인서트 자동증가, AUTO_INCREMENT, CREATE SEQUENCE 3
- 2009.11.23 mysql 백업 mysqldump --skip-lock-tables --all-databases 2
- 2009.11.09 freebsd 파티션깨짐 mysql, php 임시땜빵 log 2
- 2009.06.17 mssql to mysql process log 2
윈도우의 도커에 마리아디비를 설치해보겠습니다.
이제 개발용 서버 프로그램들을 도커에 설치해주면 각질이 넘쳐나는 하드디스크를 사용하지 않아도 됩니다.
깨끗한 컴퓨터를 사용할 수 있는것이죠.
나중에 이사가기도 쉽고 도커만 끄면 더 빠른 컴퓨터가 되니까 얼마나 좃습니까...
1. 파워쉘을 관리자로 실행
2. 도커 설치됬는지 확인
docker --version
3. 마리아디비 설치
docker pull mariadb
실제로는 스샷보다 더 멋있게? 나옵니다. 최신버전 다운로드 상태가 표시되요.
4. 마리아디비 컨테이너 등록 & 시작
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
5. 마리아디비가 실행중인지 확인
docker ps -a
6. 마리아디비에 접속
docker exec -i -t mariadb bash
mysql -uroot -p1234
create database test;
7. 사용자 만들어보긔
create user 'kaudo'@'%' identified by '1234';
grant all privileges on test.* to 'kaudo'@'%';
flush privileges;
show databases;
8. 윈도우10에서 접속 테스트
Host, Port, Database, Username, Password 입력
9. 마리아디비 사용
MySql에는 테이블생성시 AUTO_INCREMENT만 추가해주면 자동증가가 설정되서 편합니다.
오라클은 MySql처럼 편리하진 않지만,
시퀀스를 생성해주고 그값을 조회해서 자동증가를 이용할 수 있습니다.
어쩌면 유지보수면에선 오라클같은 형식이 낳을지도...
IDX NUMBER(10),
INDEX2 NUMBER(10) NOT NULL,
CONSTRAINT PK_TESTTABLE PRIMARY KEY(IDX)
);
CREATE SEQUENCE SEQ_TESTTABLE START WITH 1 INCREMENT BY 1 MAXVALUE 99999 CYCLE NOCACHE;
INSERT INTO TESTTABLE ( IDX, INDEX2 ) VALUES ( SEQ_TESTTABLE.NEXTVAL , 100 );
MYSQL
IDX INT(11) AUTO_INCREMENT,
INDEX2 INT(11) NOT NULL,
PRIMARY KEY (IDX)
);
INSERT INTO TESTTABLE ( INDEX2 ) VALUES ( 100 );
암호를 물어보지 않지만 화면에 노출
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 > [백업파일명]
몇달전에 /var 파티션 깨짐
당시 idc관리자가 fsck로 복구해줌
잘쓰다가 계속 깨지는듯한느낌
결국 php로 만든 게시판에서 업로드가 안됨
mysql재시작했더니 입출력오류(error 5)가 나면서 시작안됨
fsck로 해도 소용없음
my.cnf에서 temp디렉토리를 /var/tmp/에서 /tmp/로 변경
php.ini에서 temp디렉토리를 /var/tmp/에서 /tmp/로 변경
언제 뻗을지 모름 ㅋㅋ
ㄴㅁ SSN는 iptable을 도메인으로 걸라!
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]')
최근에 올라온 글
최근에 달린 댓글
|
| |||||||