아마존의 EC2에서 MySQL 5.1 데이터베이스를 마이 그 레이션하고 우리가 이미지 저장에 사용하는 longblob 데이터 유형의 문제 테이블을 가지고 있습니다. 기본적으로 마이 그 레이션 후 longblob 열의 데이터는 문자 인코딩이 다르기 때문에 다른 크기입니다. 모든탭으로 구분 된 파일로 MySQL blob 덤프
먼저, 여기에 이전의 예이며, 마이그레이션 후 :
올드 :
x??]]??}?_ѕ??d??i|w?%?????q$??+?
새로운 기능 :
x��]]����_ѕ��d��i|w�%�����q$��+�
둘 다 컴퓨터에서 문자 집합 변수를 확인 그들은 동일합니다. 나는 또한 '쇼 만들기 테이블'을 확인했고 그것도 동일합니다. 클라이언트는 모두 동일한 방법으로 연결합니다 (SET NAMES가 없거나 문자 집합을 지정). 여기
제가 사용 mysqldump는 명령 (I뿐만 아니라 --hex-얼룩없이 시도)이다 : 여기mysql DB_NAME --default-character-set=utf8 -e "LOAD DATA INFILE 'EXAMPLE.txt' INTO TABLE EXAMPLE;"
같습니다
여기mysqldump --hex-blob --default-character-set=utf8 --tab=. DB_NAME
가 I 데이터를 로딩하는 방법이다 MySQL의 문자 집합 변수 (동일) :
올드 :
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | latin1 |
| character_set_connection | latin1 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | latin1 |
| character_set_server | latin1 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
새로운 기능 :
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | latin1 |
| character_set_connection | latin1 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | latin1 |
| character_set_server | latin1 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
나는 mysqldump를 실행 할 수 있도록 시도 할 다른 모르겠어요 및 BLOB 데이터가 두 시스템에서 동일해야합니다. 모든 팁은 크게 감사하겠습니다.
고마워요. 내 문제에 대한 솔루션을 찾는 데 도움이되었습니다.이 문제는 PHP에서 바이너리 데이터 파일을 작성하여 LOAD DATA INFILE을 사용하여로드하는 데 도움이되었습니다. 나는 PHP에서 bin2hex와 hex2bin을 사용하고있다. – NickT
도와 드리겠습니다. 마침내 알아 내는데 많은 시간이 걸렸으므로 시간을 절약 해주기를 바랍니다. – DrewVS