MySQL은 다양한 웹 사이트, 데이터 웨어하우스 및 엔터프라이즈 애플리케이션에서 널리 사용되는 오픈 소스 데이터베이스 관리 시스템입니다. MySQL에서 인코딩 형식은 데이터베이스에 저장된 텍스트 콘텐츠의 내부 바이너리 저장 방식을 나타냅니다.
데이터베이스에 중국어 또는 기타 영어가 아닌 문자와 같은 특수 문자가 저장되어 있는 경우 이러한 문자를 올바르게 저장하고 검색할 수 있도록 올바른 인코딩 형식을 설정해야 합니다. 이 기사에서는 MySQL 데이터베이스의 인코딩 형식을 수정하는 방법을 소개합니다.
1단계: 데이터베이스 백업
데이터베이스 변경을 수행하기 전에 항상 데이터베이스를 백업하여 데이터 손실이나 복구할 수 없는 손상을 방지하세요. MySQL에서 제공하는 mysqldump 도구를 사용하여 데이터베이스를 백업할 수 있습니다.
mysqldump -u [username] -p [database_name] > backup.sql
여기서 [username]은 데이터베이스의 사용자 이름이고, [database_name]은 백업할 데이터베이스의 이름입니다. > 백업 내용을 backup.sql 파일 중간으로 리디렉션하는 것을 의미합니다.
2단계: 데이터베이스 인코딩 보기
현재 MySQL 데이터베이스의 기본 인코딩을 보려면 다음 명령을 실행할 수 있습니다.
SELECT @@character_set_database;
이 명령은 데이터베이스의 현재 기본 인코딩 형식을 표시합니다.
3단계: 데이터베이스 인코딩 수정
데이터베이스 인코딩을 수정하려면 다음 단계를 수행해야 합니다.
find / -name my.cnf
[client] default-character-set=utf8mb4 [mysql] default-character-set=utf8mb4 [mysqld] collation-server = utf8mb4_unicode_ci character-set-server = utf8mb4
이 설정을 사용하면 모든 MySQL 클라이언트와 서버에서 올바른 인코딩 형식.
sudo service mysql restart
SELECT @@character_set_database;
올바르게 적용된 경우 출력은 "utf8mb4"로 표시되어야 합니다.
4단계: 기존 테이블을 새 인코딩으로 변환
테이블이 데이터베이스에 이미 있는 경우 데이터를 올바르게 저장하려면 테이블을 새 인코딩 형식으로 변환해야 합니다.
SELECT CONCAT('ALTER TABLE `', table_schema, '`.`', table_name, '` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;') AS execute_sql FROM information_schema.tables WHERE table_schema = '[database_name]' AND table_type = 'BASE TABLE' ORDER BY table_name DESC;
여기서 [database_name]은 변환해야 하는 데이터베이스의 이름입니다.
ALTER TABLE `table1` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; ALTER TABLE `table2` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; ...
5단계: 변경 사항 테스트
모든 테이블을 변환한 후 변경 사항이 성공적으로 적용되었는지 테스트해야 합니다. 다음 명령을 실행하여 모든 테이블의 인코딩 형식이 업데이트되었는지 확인하세요.
SHOW FULL COLUMNS FROM [table_name];
여기서 [table_name]은 테스트할 테이블의 이름입니다. 이 명령은 테이블의 열과 메타데이터를 표시할 뿐만 아니라 테이블에 이전 인코딩 형식의 데이터가 있는지 확인합니다. 결과가 올바르게 나타나면 변경이 성공한 것입니다.
결론
MySQL에서 데이터베이스 인코딩 형식을 수정하면 특수 문자를 올바르게 저장하고 검색할 수 있어 다국어 웹 사이트 및 애플리케이션에 대한 완벽한 지원을 제공할 수 있습니다. 이 문서에 제공된 단계를 따르면 MySQL 데이터베이스의 인코딩 형식을 쉽게 수정하고 데이터 손실이나 손상을 방지할 수 있습니다.
위 내용은 mysql 데이터베이스 인코딩 수정의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!