MySQL은 UTF-8, GBK 등을 포함한 다중 문자 인코딩을 지원하는 널리 사용되는 관계형 데이터베이스 관리 시스템입니다. 실제 응용 프로그램에서는 실제 요구 사항을 충족하기 위해 MySQL의 문자 인코딩을 수정해야 하는 경우가 많습니다. 이 기사에서는 MySQL의 문자 인코딩을 수정하는 방법을 소개합니다.
MySQL의 문자 인코딩을 수정하기 전에 먼저 현재 문자 인코딩을 결정해야 합니다. 다음 명령을 통해 현재 문자 인코딩을 쿼리할 수 있습니다.
show variables like 'character_set_database';
출력 결과가 UTF-8이면 현재 문자 인코딩은 UTF-8입니다. 출력 결과가 GBK인 경우 현재 문자 인코딩은 GBK입니다.
MySQL의 문자 인코딩을 수정하기 전에 먼저 MySQL 서비스를 중지해야 합니다. 다음 명령을 사용하여 MySQL 서비스를 중지할 수 있습니다.
sudo service mysql stop
MySQL 구성 파일은 /etc/mysql/mysql.conf.d/mysqld.cnf에 있습니다. 편집기로 파일을 열고 다음 두 줄을 찾으세요.
collation-server = utf8_general_ci character-set-server = utf8
수정:
collation-server = utf8mb4_unicode_ci character-set-server = utf8mb4
여기서 수정된 것은 UTF-8로의 인코딩입니다. 상황에 따라 다른 인코딩을 수정해야 할 수도 있습니다.
다음 명령을 통해 MySQL 서비스를 다시 시작할 수 있습니다.
sudo service mysql start
MySQL의 문자 집합이 수정된 후, 이전에 생성된 데이터베이스 및 테이블의 문자 집합은 자동으로 수정되지 않습니다. 생성된 데이터베이스와 테이블의 문자셋을 수동으로 수정해야 합니다.
다음 명령을 사용하여 데이터베이스의 문자 집합을 수정합니다.
ALTER DATABASE dbname CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
그 중 dbname은 수정할 데이터베이스 이름을 나타내고, utf8mb4는 문자 집합을 나타내며, utf8mb4_unicode_ci는 collation을 나타냅니다.
테이블의 문자 집합을 수정하려면 다음 명령을 사용하세요.
ALTER TABLE tablename CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
그 중 tablename은 수정할 테이블 이름을 나타내고, utf8mb4는 문자 집합을 나타내며, utf8mb4_unicode_ci는 collation을 나타냅니다.
데이터 손실을 방지하려면 위 명령을 실행하기 전에 관련 데이터를 백업해야 한다는 점에 유의하세요.
MySQL 접속시 접속시 사용되는 문자셋을 지정해주셔야 합니다. 다음 명령을 통해 접속 시 문자셋을 지정할 수 있습니다.
mysql -u username -p --default-character-set=utf8mb4 dbname
여기서 username은 사용자 이름, dbname은 접속할 데이터베이스 이름, utf8mb4는 문자셋을 나타냅니다.
마지막으로 다음 명령을 통해 문자 집합 수정이 성공했는지 확인할 수 있습니다.
show variables like 'character_set_database';
출력 결과가 수정된 문자 인코딩과 일치하면 수정이 성공한 것입니다.
요약
MySQL의 문자 인코딩을 수정할 때 주의해야 할 사항이 많습니다. 데이터 손실을 방지하려면 관련 데이터를 백업하는 데 주의가 필요합니다. 작업 시 주의하십시오. 특히 생성된 데이터베이스 및 테이블을 수정할 때는 주의하십시오. 공식 환경에 영향을 미치지 않도록 수정 시 먼저 테스트 환경에서 시도해 보시기를 권장합니다.
위 내용은 mysql의 문자 인코딩 수정의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!