1. InnoDB 백업 및 복구
Case Study )
MySQL 3.23.55 -> MySQL 4.0.21
MySQL 3.23.55 : MyISAM + InnoDB
3.23.55의 my.cnf와 4.0.21의 my.cnf가 다를 경우
1) 서버 Shutdown
2) 바이너리 백업
3) 두 버전 사이의 my.cnf 비교
innodb 테이블 파일 사이즈와 로그 파일 사이즈 체크
기존 하위 버전의 테이블 파일 사이즈와 로그 파일 사이즈로 같게 설정
데이터베이스 복구
mysqld 데몬 시작 및 에러 체크
Ref ) http://dev.mysql.com/doc/mysql/en/Backing_up.html
2. innodb 또는 로그 파일을 추가
Ref ) http://dev.mysql.com/doc/mysql/en/Adding_and_removing.html
3. UNION vs OR in SELECT 구문
SELECT * FROM tbl_name WHERE col_name='val' OR col_name='val'
->
SELECT * FROM tbl_name WHERE col_name='val'
UNION
SELECT * FROM tbl_name WHERE col_name='val'
테이블이 클 경우 UNION이 OR보다 더 빠르다.
4. 테이블 권한
Tables_priv 권한을 줄 때,
Update 권한은 Table_priv에 Select 권한과 함께 주어야 한다.
Update 권한만 있으면 Update 되지 않는다.
5. SQL Parsing 순서
FROM 절
WHERE 절
GROUP BY 절
HAVING 절
SELECT 절
ORDER BY 절
6. root 패스워드 분실시
(1) ./killall mysqld (데몬을 모조리 죽임)
(2) ./bin/safe_mysqld --skip-grant &
(3) mysql> UPDATE user SET Password=PASSWORD('newpasswd') WHERE
user='root';
(4) mysql> FLUSH PRIVILEGES;
7. MySQL to MSSQL Migration
Requirement : MySQL ODBC Driver
Tool : MS SQL Server DTS (Data Transformation Services) Wizard