
저희 회사는 아직도 PHP5.2를 사용중입니다. 사이트가 방대한데 개발자가 저 혼자뿐이라서 PHP7 혹은 8로 수정하기에 너무 버겁기 때문입니다. 그런데, 의외로 아직까지 PHP5.x 버전을 사용하는 사이트들이 많습니다.
뭐 단독서버를 사용하는 회사들은 문제가 되지 않습니다. 그냥 그대로 쭈욱 운영하면 되니까요.
그러나, 저희 회사처럼 AWS를 사용하는 환경에서는 구버전은 버리고 신버전으로 계속 업그레이드하라고 채찍질 당합니다. 구버전을 계속 운영하다간 구버전 운영비용까지 추가로 부담하게 되고, 결국 시간이 지나면 그마저도 지원이 끊어지게 되면서 서비스 중단사태까지 벌어집니다.
현재 AWS RDS For MySQL은 8.0시대는 올해 6월쯤 종료하게 되고 그 이후로는 구버전 운영비용까지 추가로 부담하게 됩니다. 결론은 8.4버전으로 업그레이드 하라는 것입니다.
그런데, 문제는 MySQL 8.4는 LTS(Long Term Support) 버전으로 전환되면서, 오래된 유산들을 대거 정리했습니다. mysql_native_password 인증 플러그인이 더 이상 기본으로 탑재되지 않거나 비활성화된 상태로 배포됩니다. 8.0에서는 파라미터를 대부분 그대로 가져와서 mysql_native_password 인증 플러그인을 그대로 사용했습니다. 그런데, 8.4로 업그레이드할때는 반드시 파라미터를 수동으로 변경해줘야 합니다. 자동으로 될 줄 알고 넋놓고 웹서버와 연결했다간 큰일이 납니다. 이 부분은 반드시 서버관리자는 알고 있어야 하는 부분이기에 여기에 적어봅니다.
MySQL8.4로 업그레이드하고 2029년까지 모든 소스를 PHP8에서 동작할 수 있도록 작업해야겠습니다. 할 일이 많네요.
(2026.5.19 수정)
AWS RDS For MySQL8.4에서 mysql_native_password 인증 플러그인을 옵션으로 제공합니다. 그래서, PHP8로 업그레이드하지 않고 무사히 PHP5.2를 유지하면서 성공적으로 MySQL8.4로 업그레이드 할 수 있었습니다. 그래도 PHP8로 소스 수정작업은 진행되고 있습니다. 언제까지 PHP5.2를 붙잡고 있을 수는 없으니까요.
'꼰대개발자 > 데이터베이스' 카테고리의 다른 글
| dump파일을 import하는데 enum때문에 오류가? (2) | 2025.08.08 |
|---|