Laravel and StartUp
Github
  • README
  • 개발
    • 라라벨 생태계
      • 라라벨 .env 내용을 Github Action test에 적용하기
      • 라라벨 발렛(Laravel Valet)에서 Node 실행하기
      • 라라벨 노바 훑어보기
      • 라라벨 노바의 Envoyer 배포의 실전
      • Envoyer에서 무중단 배포를 구현하는 방법
      • 라라벨이 애용하는 ::class 톺아보기
      • 라라벨에서의 버전의 의미
      • 라라벨 개발자를 위한 .aliases 파일
      • 라라벨 프로젝트를 만드는 두가지 방법 비교
    • 개발 팁
      • MySQL 9로 업데이트할 때 로그인 이슈
      • svn 저장소를 git으로 이전하기
      • CakePHP2를 PHP 8에서 쉽게 사용하기
      • 베스트 깃(Git) 커맨드
      • 퍼미션 에러없이 PHP를 구동하기 위한 서버 세팅법
      • PHP 스크립트를 php 명령어 없이 사용하는 법
      • 국제화의 필수 익스텐션, NumberFormatter
      • 라라벨에서 뷰헬퍼를 만들어 봅시다
    • 스타트업 팁
      • PHP 코딩 가이드라인
      • 배포 가이드라인
      • 기술 스택(Tech Stacks)
      • 기술 소양
      • 최신 IT 컴퍼니 트랜드
    • Knowledge Acquisition
      • Error 혹은 Warning
      • NumberFormatter class example
      • Exception + Error = Throwable Tree in PHP 7 over
      • Coding Style Preset
      • Programming Case Types
  • 협업과 비즈니스
    • 협업
      • 이메일 협업
    • 비즈니스
      • 서비스x스토어
      • 발주입고 프로세스
      • 재고월마감 프로세스
      • 재고조정 프로세스
Powered by GitBook
On this page

Was this helpful?

Edit on GitHub
  1. 개발
  2. 개발 팁

MySQL 9로 업데이트할 때 로그인 이슈

맥을 개발머신으로 사용하는 개발자라면 Homebrew로 개발에 필요한 프로그램을 설치하고 버전관리를 하게 됩니다. 그런데, 최근에 brew upgrade로 설치된 프로그램을 업그레이드할 때 mysql이 8.x에서 9.x로 바뀌었는데요, mysql을 5버전부터 이용한 프로그램의 경우 유저 패스워드 인증 방법을 mysql_native_password로 사용하는 경우 에러가 발생하게 됩니다.

MySQL 9.x에서는 더이상 mysql_native_password을 지원하지 않으며, 따라서 caching_sha2_password으로 바꾸어 줘야 합니다.

mysql_native_password에서 caching_sha2_password 으로 바꾸는 법

  1. 테이블 Grant를 비활성화 합니다

    MySQL 설정 파일에 아래를 추가합니다. 보통 /usr/local/etc/my.cnf에 있어요.

    [mysqld]
    skip-grant-tables
  2. MySQL을 재시작합니다:

    brew services restart mysql
  3. MySQL에 root 유저로 접속합니다:

    mysql -uroot
  4. 유저 인증 방법을 업데이트합니다:

    Refresh the privileges:
    
    FLUSH PRIVILEGES;
  5. mysql_native_password 플러그인을 사용하는 유저 리스트를 얻는다:

    SELECT User, Host, plugin FROM mysql.user WHERE plugin = 'mysql_native_password';
  6. caching_sha2_password 플러그인으로 5번에서 나온 계정을 모두 업데이트 한다:

    ALTER USER '{user}'@'localhost' IDENTIFIED WITH caching_sha2_password BY 'new_password';
  7. 테이블 Grant를 다시 활성화한다:

    업데이트 후에 1번에서 추가한 skip-grant-tables를 삭제합니다.

  8. 수정한 내용을 반영하기 위해서 MySQL을 재시작합니다:

    brew services restart mysql

이 순서를 따라하면 MySQL 9로 업그레이드 할 때의 인증 방법에 대한 이슈를 해결할 수 있습니다.

Previous개발 팁Nextsvn 저장소를 git으로 이전하기

Last updated 4 months ago

Was this helpful?