반응형

mysql 28

MySQL flush privileges 명령어

MySQL flush privileges 명령어 INSERT나 UPDATE, DELETE문을 이용해서 MySQL의 사용자를 추가,삭제하거나, 사용자 권한 등을 변경하였을 때, MySQL에 변경사항을 적용하기 위해서 사용하는 명령어가 flush privileges 입니다. 아래는 highbird 데이터베이스에 bird 유저를 추가하는 예제입니다. 끝에 flush privileges 명령어를 사용해서 변경사항을 적용해 주는 것을 확인하실 수 있습니다. 이 flush privileges 는 정확히 말하면 grant 테이블을 reload 함으로 변경사항을 바로 적용해주는 명령어인데, INSERT, UPDATE와 같은 SQL문이 아닌 grant 명령어를 사용해서 사용자를 추가하거나 권한등을 변경하였다면 굳이 실행..

mysql 2013.04.15

subquery의 결과가 여러개 일때, 한개의 필드로 가져오기

서브 쿼리의 결과가 여러 개 일때, 스트링으로 만들어서 가져 오기 [mysql string CONCAT row] 참고 사이트 : http://stackoverflow.com/questions/276927/can-i-concatenate-multiple-mysql-rows-into-one-field 핵심은 group_concat 함수를 쓰면 된다. 아래는 "|" 문자열로 서브 쿼리의 결과를 문자열로 연결해서 반환하는 쿼리이다. 뭐. 이런식으로 BTable에 있는 bookName을 "|"로 연결해서 가져오고 싶을 경우 저런 식으로 ~ SELECT ATable.num, ATable.keyword, (select group_concat(bookName separator '| ') from BTable where..

mysql 2013.03.20

현재 설정된 문자셋 검사 방법

아래의 쿼리를 실행하면 현재 설정된 문자셋을 확인할 수 있다. mysql> show variables like 'character_set_database'; +------------------------+-------+ | Variable_name | Value | +------------------------+-------+ | character_set_database | euckr | +------------------------+-------+ 1 row in set (0.00 sec) mysql> show variables like 'character_set_%'; +--------------------------+----------------------------------------+ | Va..

mysql 2013.03.06

latin1 로 저장된 db 를 euckr 또는 utf8로 변환하는 방법

예전에 latin1로 저장된 db를 그냥 옵기게 되면 한글이 깨져서 보이지 않게 됩니다. 그럴때 사용하기 위한 방법 입니다. 1. 백업하기 mysqldump -u{username} -p{password} {dbname} --default-character-set latin1 > {dump}.sql 여기서 제일 중요한 것이 --default-character-set latin1 입니다. 이것이 없으면 온전하게 백업이 되지 않으니 여러가지로 어렵습니다. 2. 문자셋 변환하기 (문제가 되는 것이 보통 이 과정에서 메모장이나 에딕터를 이용하게 되면 깨져서 복원을 할때 에러가 발생합니다.) utf8로 변환 할때 iconv -c -f cp949 -t utf-8 원본파일명 > 변환될 파일명.sql euckr 이라면 ..

mysql 2013.02.28

백업과 복구

MySQL의 데이터를 백업하는 방법은 크게 두가지로 분류 할 수 있다. 1. mysqldump를 이용한 text타입의 백업 방법. 2. 데이터파일 자체를 복사하는 백업 방법. 두가지 방법모두 장단점이 있으므로 용도와 필요에 맞게 사용하는 것이 좋다. 1. mysqldump를 이용한 백업(출처 : http://dev.mysql.com/doc/refman/5.1/en/mysqldump.html) mysqldump는 Igor Romanenko라는 사람이 만든 백업 프로그램이다. 이는 database나 database의 일부를 백업하는 목적이나 다른 시스템으로 옮길때 사용된다. 그리고 원하는 분리 문자를 넣을 수 있어 CSV파일 등으로 만들 수 있으며, XML포맷으로 만들 수도 있다. 굉장히 많은 옵션들을 제공..

mysql 2013.02.28

MySql 4.x 버젼과 MySql 5.x 버젼 password 함수 차이

서버를 이전했는데 Mysql 버젼이 달라서 로그인이 안 될 경우 대략 난감하다. mysql 4.0x 이하 버전에서는 password() 함수의 결과가 16bytes mysql 4.1x 이상 버전에서는 password() 함수의 결과가 41bytes 이 현상을 해결하기 위해서는 아래를 실행시켜야한다. 반대의 경우에는 0 sql_query("set old_passwords=1"); 또는 MySql 5.x버젼 사용자라면 password()함수 대신 old_password()함수를 사용하면 해결 할 수 있다.

mysql 2013.02.28

버전별 MySQL user , db , database 생성 삭제

버전별 MySQL user , db , database 생성하기 mysql 버전에 따라서 레코드 숫자가 틀려서 생성 할 때 마다 귀찮은 점이 있다. 적어 두고 생성시 복사해서 사용하는게 편리 하다. 반드시 ID , NAME , DATABASE 이름을 변경하여 사용하시기 바랍니다. MySQL 3 create database 데이타베이스명; insert into user values ('localhost','아이디',password('비밀번호'),'N','N','N','N','N','N','N','N','N','Y','N','N','N','N'); insert into db values ('localhost','아이디','디비이름','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y'); ..

mysql 2013.02.18

mysql 백업 스크립트 2

서버의 mysql 테이블별로 백업 #!/bin/sh # 작성일 : 2005/07/01 # 최종수정일 : 2005/09/14 # 제목 : 서버 서비스 상태 표시기 # 별도 수정 사항 : db root, 백업위치(변수 : dump_dir) #--------------------------------------------------------- dump_date=$(date +%Y%m%d-%H); dump_dir="/backup"; DB_user=""; DB_pass=""; DB_optimize_switch=0; # 만일 1이면 optimizing까지 for database in `/usr/local/mysql/bin/mysqlshow -u ${DB_user} -p${DB_pass} | awk -F" " '{..

mysql 2013.02.18

mysql 백업 스크립트

다들 아시겠지만, 데이터베이스 백업 스크립트입니다. 백업 위치에 따라, /home2/DATA/mysqldump/20050701/DB list..... /20050702/DB list..... /20050703/DB list..... 이런 식으로 DB 디렉터리 아래 DB 명 및 테이블이름.sql으로 쌓이게 될 겁니다. 매일 매일 백업한다는 가정 하에 7일 전 데이터는 무조건 삭제합니다. 도움이 되시길 바라면서... #!/bin/sh # 작성일 : 2005/07/01 # 최종수정일 : 2005/09/14 # 제목 : 서버 서비스 상태 표시기 # 별도 수정 사항 : db root, 백업위치(변수 : dump_dir) #---------------------------------------------------..

mysql 2013.02.18

스크립트를 이용한 mysql 백업하기

mysql에서는 mysqldump를 이용하여 백업을 수행 . mysqldump -u root(사용자명) -p mysql(데이터베이스이름) > mysqlbackup.sql(백업할파일이름) 1. 백업 스크립트(1) - backup_db.sh #!/bin/sh # DB backup script newfile=`date -d "0 days" +%Y%m%d%H%M%S` delfile=`date -d "-3 days" +%Y%m%d%H%M%s` echo === mysql delete : ${delfile} rm -rf ${delfile}.tar.gz rm -rf ${delfile} echo === mysql dump mysqldump -u x -p --default-character-set=utf8 mysql > ..

mysql 2013.02.18
반응형