본문 바로가기

mysql

mysql_4.1.x 부터 계정 추가시 달라진점 http://www.mysql.com/doc/en/GRANT.html 버전 4.1.x부터는 계정추가시 grant로 유저에게 DB사용권한을 줘야한다. :: 사용예 mysql> grant all privileges on db_name.* user_name@host identified by 'password' with grant option; mysql> grant all privileges on leopit.* to leopit@localhost 더보기
mysql index 속도 높히기 DB에 데이타가 많이 싸이면 그동안의 dml로 인해 index의 속도가 현저히 떨어집니다. 이럴때 index를 다시 정렬해주시면 검색속도가 올라갑니다. # cd mysql/var/디비명 # myisamchk -R1 * 더보기
실수로 삭제한 mysql DB 복구방법 delete나 truncate 같은 명령으로 데이터를 지웠을때 복구하는 방법입니다. mysql의 모든 명령들은 로그를 남기기때문에 가능합니다. 일단 mysql의 DB가 쌓이는 디렉토리로 이동합니다. 대게 /usr/local/mysql/data /usr/local/mysql/var 등으로 설정해 놓으셨을겁니다. 해당 디렉토리로 이동하면 xxx-bin.001 xxx-bin.002 같은 바이너리 파일들이 존재할겁니다. 이게 바로 DB를 첨 생성할때부터 지금까지 쌓여온 로그인데요 이 파일을 활용하시면 삭제된 데이터도 살릴수 있습니다. 바이너리 파일이기때문에 그냥 접근하시면 이상한 문자들이 보이구요 mysqlbinlog 명령을 이용하셔서 사용해야 합니다. 다음은 예제입니다. 일단 DB 디렉토리로 이동한다. # c.. 더보기
mysql 깨진 테이블 복구하기 .. 이런경우가 없었는데.. 오늘 제가사용하는 디비가 깨졌는지..테이블 하나가 열리지 않더군요.. 그래서.. 예전 백업본에서 다시 카피도 해 보고 하였지만.. 잘 되지 않아.. 테이블 검색하고 오류 수정하는 myisamchk 라는 명령으로 복구를 하였읍니다. 책을 보니.. mysql 이 안정적이긴 하나.. 사용자의 실수나 하드웨어적인 문제, 테이블에 쓰기를 하는도중 정전, 서버가 제대로 종료되지 않았을때 이런 문제가 발생될수 있다고 하네요.. 루트만이 복구를 할수가 있읍니다. 우선.. 사용하는 데이타의 디렉토리.. 음.. /mysql 설치 디렉토리/var/디비명/ 에 해당하는 테이블파일들이 있을 것입니다. 그럼.. 이곳에서.. myisamchk 테이블명.. 하시면 됩니다. 대부분 99% 이상 복구가 가능.. 더보기
mySQL 개념 알기쉽게 정리한 내용 루트가 첨에 MYSQL을 관리하는 순서대로 정렬했습니다. 처음 DB를 접하시는 분이라면 큰 도움이 될거라 믿습니다. ◆ 시작하기 전에! 여러 웹사이트를 돌아다닌 결과 가장 쉽게 그리고 잘 정리되어있는 것을 찾아서 거기에 살을 붙였습니다. 우선 아래 내용들은 슈퍼유저나 루트만이 사용 가능하다는 것을 말씀드립니다. 일반 유저가 이런걸 다 사용할 수 있다면 큰일나겠죵...^^ (무시무시~) 자 이제 시작해 봅시다. 여러분은 루트(관리자)가 되신겁니다. ------------------------------------------------------------------------------- 우선은 원하는 테이블을 생성 할 수 있는 권한을 얻는것으로 부터 mysql을 더듬어 보기로 하겠습니다. 두가지의 경우가.. 더보기
웹서버 & mySQL 백업 /root아래에 backup.sh 이라는 파일을 만들어 놓고 백업 명령어를 다음과 같이 주었다. #!/bin/bash /usr/local/mysql/bin/mysqldump -uroot -p***** mysql > mysql_db_bak_$(date +%Y%m%d).sql /usr/local/mysql/bin/mysqldump -uyanemone -p***** yanemone > yanemone_db_bak_$(date +%Y%m%d).sql mv *.sql /backup tar cvfpz /backup/html_bak.tar.gz /var/www/html tar cvfpz /backup/yanemone_html_bak.tar.gz /home/yanemone/public_html tar cvfpz /ba.. 더보기
mysql backup #!/bin/bash BACKUP_DIR=/var/backup FILE_PFX =MY_DB DATE=$(date +%Y%m%d) OF = $FILE_PFX-$DATE.sql rm -rf $BACKUP_DIR/$FILE_PFX-*.sql mysqldump -uUSER -pPASS DB_NAME > $BACKUP_DIR/$OF 더보기