이 PHP오류는 MySQL버젼을 5에서 8로 업그레이드 한 후 발생하며 utf8이 utf8mb4로 대체되기 때문에 발생합니다.
MySQL 버전 8에서는 character_set_server | utf8mb4
따라서 이 문제를 해결하기 위해서는 이전방식인 utf8로 변경하는 것입니다.
1. iterm2 또는 터미널을 실행하고, my.cnf 파일을 어느 경로에 있는지 찾아봅니다.
$ find / -name 'my*.cnf'
2. 저는 /usr/local/mysql에 있었으며, 파일을 etc디렉토리 아래로 이동해줍니다.
3. 파일을 열어 수정 해줍니다.
$ vi /etc/my.cnf
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqld]
collation-server = utf8_unicode_ci
character-set-server = utf8
위 텍스트를 복사해서 저장해줍니다.
4. 설정에서 MySQL을 재시작 해줍니다.
ref. https://blog.naver.com/ppesky/10038610631
'Dev. Back-End > RDBMS' 카테고리의 다른 글
[MySQL] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp 에러 (0) | 2022.12.06 |
---|---|
[MySQL] 필드의 문자열을 하나로 합치기 (CONCAT 함수) (0) | 2020.11.03 |
[MacOS] MySQL 간단하게 설치하기 (0) | 2020.08.19 |