Mysql 에서는 Timestamp 데이터 타입이 존재하는데 다음과 같이 기본값을 설정하지 않으면 업데이트시나 새로 데이터가 추가될 때 현재시간으로 갱신되지 않는다. Timestamp 필드를 사용할 때 주의하자.

 

CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP

 

 

mysql에서 현재 실행되고 있는 쿼리 목룩을 확인하는 방법은 다음과 같다.

# mysqladmin -uroot -p processlist

 

이 서버는 테스트서버라서 아직 사용되지 아무 쿼리가 없어서 실행되는 내용이 없다.

 

Time 필드에 실행 시간도 나오니 혹시 데드락(deadlock)이 발생했는지 의심되는 경우 조회해 볼 수 있겠다.

 

mysql에서 다음과 같은 방법으로 디비명을 변경할 수 있다. 다음은 old_database를 new_database로 변경하는 예제이다.

 

# create database new_database;

새로운 디비를 생성한다.

 

# rename table old_database.table to new_database.table;

테이블들을 옮겨준다. 테이블이 여러개면 여러번 해주면 된다.

 

# drop database old_database;

기존 디비를 지운다. (옵션사항)

 

추가로 procedure도 옮기고 싶을 경우는 다음과 같이 mysql.proc 테이블을 업데이트 해주면 된다.

# update mysql.proc set db = 'old_database' where db = 'new_database';

 

 

아니면 다른 방법으로 스크립트를 이용하거나 mysqldump를 이용해서 export, import해도된다.

http://stackoverflow.com/questions/12190000/rename-mysql-database 참고

 

 

mysql -e "CREATE DATABASE \`new_database\`;"

for table in `mysql -B -N -e "SHOW TABLES;" old_database`

do

mysql -e "RENAME TABLE \`old_database\`.\`$table\` to \`new_database\`.\`$table\`"

done

mysql -e "DROP DATABASE \`old_database\`;"

 

 

더 편한 방법은 mysql 5.1.7 이상에서는 RENAME DATABASE 구문으로도 지원하다.

http://dev.mysql.com/doc/refman/5.1/en/rename-database.html

아래와 같은 쿼리를 통해서 확인할 수 있다. 또는 스키마 내역을 확인할 수도 있다.

 

select *

from information_schema.table_constraints

where table_schema = 'db'

and table_name = 'table'

and constraint_type='FOREIGN KEY';

 

 

 

INFORMATION_SCHEMA 이란?

 

INFORMATION_SCHEMA는 데이터베이스의 메타데이터이다. 이 테이블에서는 MySQL에서 관리하는 모든 데이터베이스의 정보가 포함되어있다. INFORMATION_SCHEMA는 많은 읽기전용 테이블을 포함하고 있다. 이 테이블들은 실제적으로는 뷰(view)이다. 그래서 이와 관련된 파일은 실제로 존재하지는 않는다. 뷰 이기 때문에 트리거(trigger) 등은 생성할 수 없다.

 

 

http://dev.mysql.com/doc/refman/5.0/en/information-schema.html

페도라, 오픈수세에서 MySQL이 빠지고 마리아DB(MariaDB )로 변경될 예정이다. 요약하면 그 이유는 오라클로 인수된 MySQL의 폐쇄성 때문이다. 마리아DB은 MySQL과 거의 판박이 이여서 MySQL을 대체할 수 있다고 한다.

 

마리아DB

https://mariadb.org/en/

 

페도라-오픈수세, 오라클 MySQL 뺀다

http://www.zdnet.co.kr/news/news_view.asp?artice_id=20130202024310

 

 

이제 리눅스 배포 판에 돌고래에서 물개? 를 볼 날이 멀지 않은 것 같다.

 

 

 

+ Recent posts