본문 바로가기
DataBase/MySQL

mysql 자료 옮기기

by 백룡화검 2008. 7. 10.

1.mysql
먼저 기존 DB의 character-set 확인
mysql> use test
Database changed
mysql> show variables like 'c%';
character_set latin1
1.기존 DB를 Dump
mysqldump -uroot -p{password} realDB --default-character-set latin1 > dump_realDB.sql
백업시 character_set 을 위의 결과에서 나온 값을 넣어야 함.
2. 백업한 dump.realDB.sql 편집
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES euckr */;
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
상단 부분에 있는
/*!40101 SET NAMES latin1 */;
=> /*!40101 SET NAMES euckr */; 로 변경
각 sql 문 하단의
ENGINE=InnoDB DEFAULT CHARSET=latin1;
=> ENGINE=InnoDB DEFAULT CHARSET=utf8; 로 변경
3.DB 생성
mysql> CREATE DATABASE realDB DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
4. 백업한 DB 복구
[root@localhost bin]# mysql -uroot -p realDB < /home/sjd00/realDB20070306.sql
5. my.cnf 편집
[root@localhost 20070306]# vi /etc/my.cnf
[client]
default-character-set=utf8
[mysqld]
init_connect=SET collation_connection=utf8_general_ci
init_connect=SET NAMES utf8
default-character-set=utf8
character-set-server=utf8
collation-server=utf8_general_ci