안녕하세요 친구 여러분, 이 게시물에서는 MySQL 8.0으로 업그레이드하면 시작되지 않는 MySQL 8.0을 다루는 튜토리얼을 공유하고 싶습니다.
글쎄, 이 오류는 Laragon 애플리케이션에서 MySQL 5.1.72에서 MySQL 8.0.32로 업그레이드할 때 발생했습니다.
라라곤 애플리케이션에서 All을 시작할 때 이런 오류가 발생합니다.
Laragon의 MySQL 8.0 오류
그런 다음 C:Laragondatamysql-8mysqld.log
에 있는 로그 파일을 확인했습니다.다음과 같은 오류를 발견했습니다
mysqld: Table 'mysql.plugin' doesn't exist 2023-02-16T23:34:54.041942Z 0 [ERROR] [MY-010735] [Server] Could not open the mysql.plugin table. Please perform the MySQL upgrade procedure.
그 외에도 이런 오류도 발견했습니다
2023-02-16T23:34:54.460889Z 0 [ERROR] [MY-010326] [Server] Fatal error: Can't open and lock privilege tables: Table 'mysql.user' doesn't exist 2023-02-16T23:34:54.462984Z 0 [ERROR] [MY-010952] [Server] The privilege system failed to initialize correctly. For complete instructions on how to upgrade MySQL to a new version please see the 'Upgrading MySQL' section from the MySQL manual.
이 오류를 보면 제가 수행한 업그레이드 프로세스가 잘못되었음을 알 수 있습니다. MySQL 8.0을 먼저 초기화하지 않아서 발생하는 오류로 인해 MySQL 8.0에서 필요한 테이블을 찾지 못했습니다.
그래서 우리가 할 해결책은 MySQL 서버를 시작하기 전에 먼저 MySQL 8.0을 시작하는 것입니다.
Windows에서 명령 프롬프트를 열고 다음 명령을 실행하세요
mysqld --initialize-insecure
실제로 두 가지 옵션이 있습니다. 첫 번째는 –초기화 두 번째는 –초기화-비보안을 사용합니다. 유일한 차이점은 루트 계정의 비밀번호입니다. 첫 번째 옵션은 임시 임의 비밀번호를 생성합니다. 두 번째 옵션의 경우 루트 계정에는 비밀번호가 없지만 나중에 루트에 대한 비밀번호를 설정할 수 있습니다.
좋아요, MySQL 8.0 시작 프로세스가 완료되었습니다. 여기에서 MySQL 8.0을 시작하거나 서버를 더 이상 오류 없이 실행할 수 있습니다.
두 번째 옵션을 사용했기 때문에 루트 계정에는 비밀번호가 없으므로 비밀번호를 사용하지 않고도 쉽게 접근할 수 있다는 의미입니다. 로컬 컴퓨터에 있는 경우에도 괜찮습니다. 웹 개발 요구 사항도 더 빠르기 때문입니다.
하지만 친구가 루트 계정에 비밀번호를 추가하고 싶다면 방법은 매우 쉽습니다.
먼저 다음 명령을 실행하여 MySQL 명령줄에 들어갑니다.
mysql -u root
로그인 후 다음 명령어를 실행하세요. 마지막 세미콜론을 잊지 마세요.
ALTER USER 'root'@'localhost' IDENTIFIED BY 'password_baru_untuk_root';
new_password_for_root를 원하는 비밀번호로 변경하세요. 그럼 들어가세요.
이제 exit 명령을 실행하여 MySQL 명령줄을 종료합니다. 그런 다음 다음 명령을 실행하십시오. 그런 다음 앞서 생성한 새 비밀번호를 입력하세요.
mysql -u root -p
행운을 빌어요?
위 내용은 Solusi MySQL 오류를 시작할 수 없습니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!