Mysql 데이터베이스 백업 


안녕하세요. 고코더 입니다.
MYSQL 은 개인 홈페이지에서는 가장 활용이 많이 되는
데이터베이스 일 것 입니다.

덕분에 사용자를 위한 편의 기능이 많은데
그중에서 DB의 내용을 sql 파일로 만들어
백업과 복원이 가능합니다.

물런 다른 DB에서도 sql파일을 만드는 방법은 활용 하기도 하는데
오라클를 쓰는 회사의 db를 sql로 만들면 아마도 몇백기가가 되겠네요.

그래서 오늘은 mysql의 전체 내용을
sql로 파일로 만들어 보겠습니다

▼자신의 데이터베이스 관리 툴로 접속해주세요.
호스팅을 쓴다며 거의 phpmyadmin 이시겠죠.



▼ 대상이 되는 데이터 베이스를 클릭하고
내보내기 탭을 실행합니다. 



▼ 그리고 옵션을 선택합니다. 내보내기 기본 옵션은 sql로 선택해주세요.
그리고 구조는 기본 옵션을 그대로 둡니다
다만 기존 DB를 업그레이드 할 예정이라면
체크하시면 됩니다. 테이블을 삭제하면서 생성 해줍니다. 


▼ 압축은 zip 으로 선택하고 실행합니다.
없음으로 하면 웹페이지의 sql그대로 노출되서 브라우저가 다운 



▼ 파일은 이렇게 압축된 zip 파일이 나옵니다. 


▼ 내용을 살펴보니 충실하게 sql 문이 작성되어 있습니다.


▼ 이 파일은 아까 내보내기 탭 옆에 있는 가져오기 탭에서



▼ 가져올 파일로 실행해주시면 자동으로 
복원이 됩니다. 



마무리


mysql이 개인 홈페이지의 최적화 되어 있지만
대형 시스템에서도 좋은 성능을 발휘 합니다. 


댓글을 달아 주세요



 database , table , column의 character set 알아보기 


안녕하세요. 고코더 입니다.

mysql 에 인코딩 캐릭터셋을 알아보는 방법을
알려드리려고 합니다.

DB입력시 인코딩에 따라 변환을 해서 입력해야 하는데
캐릭터셋이 모를 경우 

아래 쿼리를 돌려보시면 확인이 가능합니다. 

1
2
3
4
5
6
7
8
9
10
11
12
13
SELECT DEFAULT_CHARACTER_SET_NAME        
FROM INFORMATION_SCHEMA.SCHEMATA 
WHERE SCHEMA_NAME = 'DB명';
 
SELECT TABLE_COLLATION 
FROM INFORMATION_SCHEMA.TABLES 
WHERE TABLE_SCHEMA = 'DB명';
 
SELECT COLUMN_NAME, CHARACTER_SET_NAME
FROM INFORMATION_SCHEMA.COLUMNS 
WHERE TABLE_SCHEMA = "DB명"
AND TABLE_NAME = "TABLE명"
 
cs


해당 결과 값을 본인의 DB에 실행해보시면
아래처럼 결과 값이 나옵니다.

▼ 데이터베이스 인코딩


▼ 테이블 인코딩



▼ 컬럼 인코딩




마무리

이젠 거의 UTF-8 이겠죠?


댓글을 달아 주세요



mysql 에서 explode 같이 구분 문자열 기준으로 잘라서 가져오기


안녕하세요. 고코더 입니다.

오늘은 MYSQL 에서 문자열 함수 중에 split 혹은 explode 와 같이
특정 문자 기준으로 스트링을 나눠서 가져오는 방법을 배워 보도록 하겠습니다.

SUBSTRING_INDEX는 참 재밌고 활용도 많은 함수입니다.

▼사용법은 아래와 같습니다.
SUBSTRING_INDEX(
     1번째 인수 : 컬럼명
     2번째 인수 : 기준문자, 구분 문자
     3번째 인수 : 보여질 위치, 위치 기준 음수(-)는 뒷부분 부터, 양수(+)는 앞부분 부터
)



간단하게 실무 예를 들면
url이 저장된 컬럼에서 .com 과 같은 뒷 부분 마지막 도메인만
가져와야 한다면 이 함수가 제격이라고 생각합니다.

▼ 만약에 가장 도메인 뒷 주소만 가져와야 한다면 아래 처럼 작성하시면 되겠죠
1
SUBSTRING_INDEX('gocoder.tistory.com''.'- 1)
cs

▼이번엔 mysql을 열어보시고 아래 SQL을 실행시켜 보겠습니다.
1
2
3
4
5
6
7
8
-- gocoder.tistory.com 을 . <- 기준으로 문자열을 가져와봅시다.!
SELECT 
    SUBSTRING_INDEX('gocoder.tistory.com''.'1),
    SUBSTRING_INDEX('gocoder.tistory.com''.'2),
    SUBSTRING_INDEX('gocoder.tistory.com''.'3),
    SUBSTRING_INDEX('gocoder.tistory.com''.'- 1),
    SUBSTRING_INDEX('gocoder.tistory.com''.'- 2),
    SUBSTRING_INDEX('gocoder.tistory.com''.'- 3)
cs

▼ 차례대로 도메인을 .(점)을 기준으로 데이터를 가져왔습니다.
밑에 그림을 혹은 제가 드린 예시인 SQL만 돌려보시면 이해가 완벽히 가실거라 생각이 됩니다.


특정 URL만 제거 한다 거나 규칙적인 데이터의 일부분만 보여줘야 하는 등
다양한 이유에서 많이 쓰게 될 문자열 함수라고 생각 됩니다.
마무리

 도메인 다루기에 정말 편리하네요. 


댓글을 달아 주세요



면접에서 MaraiDB에 대해 물어본다면?


요즘 신입 후배 개발자들이
자주 듣는 스킬 질문중에 마리아DB가 무엇인지 설명해달라는
질문을 받는다고 합니다. 그럴만도 한게 이미 중소형 IT업체들은
MaraiDB를 이용해 운영 중입니다.

위키백과에 나온 내용 달달이 외워가기에는 너무 티도 나고 하니
핵심만 한번 설명해보려고 합니다.



귀여운 물개를 내세운 MariaDB는 과연 무엇일까?
우선 홈페이지는 아래와 같습니다. 

홈페이지 주소도  http://mysql.org/ 기존 mysql과 흡사합니다. 
DB명도 M자로 시작하고 있는거 보면 이제 눈치가 챈거라 생각 됩니다.

▼둘의 BI도 가만보면 많이 비슷하합니다..
개인적으로 돌고래가 더 이쁘네요



mysql을 모방한 DB가 바로 mariaDB 입니다. 
한가지 알아야 할건
mysql은 이제 무료가 아닙니다.  언제부터인지 모르겠지만
배포를 위해서는 상용라이센스를 획득해야 합니다.
그럼 mysql을 지워야 하는가? 그건 또 아니네요.
암묵적으로 mysql에 대해 과금을 물고 있지 않고 있습니다.
이런식으로 오라클은 오픈소스인 mysql을 가지고 이중적인 입장을 대하고 있습니다.
이렇게 불안하게 쓰고 싶진 않죠. 

그래서 이에 
핀란드 출신의 프로그래머 mysql을 만든 
마이클 와이드니어스는 


몇명의 동료들과 썬을 떠나서
MariaDB를 개발하였습니다.

MariaDB는 그냥 mysql 이라고 해도 될 정도로 같습니다.
사용방법이나 구조까지 같습니다. 
프로그램 이름만 다르고 사용방법이 같다는것이 
Mysql을 대체할 수 있는 DB 입니다.

그리고 기존의 mysql과도 호환이 됩니다.

본 블로그 강의에서
XAMPP 설치 강의(http://gocoder.tistory.com/40)
WNMP 설치 강의(http://gocoder.tistory.com/48)

해당 APM 프로그램들이 제공하는 DB도 MariaDB를 제공합니다.
왜 마리아DB를 사용하는지는 알것입니다.
AWS에서도 MariaDB 설치를 권고 하는거 보면
흐름상 이젠 당신이 학습자이든 IT기업 운영자이든 
MariaDB를 사용하면 될 것 입니다. 

결론은 말씀드리면
 " mysql의 소유권 정책으로 회사를 떠난 mysql 개발자 와드니어스가
maraiDB를 만들었고 이는 기존 DB와 호환되며 명령어와 사용법과 같은
라이센스 없는 Mysql이라고 할 수 있다. "




마무리

그냥 마리아디비 쓰시면 됩니다.






댓글을 달아 주세요



 MySQL Workbench 설치하기


MySQL GUI(데이터 베이스 툴)은 참 많습니다
제가 쓰는 프로그램은 개인적으로
Front, Yog, Workbench 입다.

이중에 항상 Front와 Workbench를 둘다 설치해 습니다.
그이유는 Front는 데이터를 보고 수정하기에 직관적이고 빠르게 되어 있고
그 밖에 기능은 Workbenc가 압도적입니다.

그래서 오늘 MySQL 워크벤치를 설치해보려고 합니다.

우선 아래 URL을 접속!


▼그 다음 프로그램을 다운받아 보자.



▼ 여기서 괜히 회원가입 하지말고 맨아래 다운로드를 클릭한다.


▼자 이제 Next에 시작입니다.




▼ 역시 넥스트




▼ 넥스트 Mysql에 기본 설정을 믿어보자.





▼ 역시 넥스트

▼ 피니시 누르면 끝입니다. 


▼ 그럼 아래와 같이 워크벤치가 실행되었습니다. 





마무리

설치만으로 끝난건 아니다. 
해당 프로그램 사용하는 방법도 곧 남기겠습니다.





Tag ASP, db, GUI, mysql, Workbenc

댓글을 달아 주세요