MySQL database 생성시 character set 과 collation을 utf8mb4 로 해서 생성하면 됩니다.
CREATE DATABASE homestead CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci;
GRANT ALL PRIVILEGES ON homestead.* TO 'homestead'@'localhost' IDENTIFIED BY 'secret';
flush privileges;
utf8 database 를 utf8mb4 로 변경
기존에 만든 database 라면 encoding 을 변경해 줘야 합니다.
DBMS 를 사용하는 application 을 내리고 변경할 database 를 백업한 후에 아래 명령을 실행해서 인코딩을 변경합니다.
ALTER DATABASE homestead CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci;
my.cnf 설정
encoding handshake 없이 강제로 utf8mb4 를 사용하도록 하기 위해 mysql 서버 설정에 다음 내용을 추가하고 mysql 을 재구동합니다.