Mysql 에서는 Timestamp 데이터 타입이 존재하는데 다음과 같이 기본값을 설정하지 않으면 업데이트시나 새로 데이터가 추가될 때 현재시간으로 갱신되지 않는다. Timestamp 필드를 사용할 때 주의하자.
CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP
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 구문으로도 지원하다.
아래와 같은 쿼리를 통해서 확인할 수 있다. 또는 스키마 내역을 확인할 수도 있다.
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
페도라-오픈수세, 오라클 MySQL 뺀다
http://www.zdnet.co.kr/news/news_view.asp?artice_id=20130202024310
이제 리눅스 배포 판에 돌고래에서 물개? 를 볼 날이 멀지 않은 것 같다.