이 글은 기계 번역의 미러 문서이며, 원본 기사로 바로 이동하려면 여기를 클릭해 주세요.

보기: 13837|회답: 0

[출처] 리눅스 업데이트 MySQL 8.0의 슬픈 역사

[링크 복사]
게시됨 2019. 1. 10. 오후 2:15:36 | | | |
이 글은 MySQL 8.0 업그레이드 과정 전체와 그 과정에서 겪었던 문제와 해결책을 포함한 개인적인 경험을 바탕으로 작성되었습니다.

과정 전반에 걸쳐 참고되는 귀중한 문서들은 표시됩니다.

수집에 오신 것을 환영합니다, 포워드에 오신 것을 환영합니다. 하지만 출처를 밝히길 바랍니다하이퍼링크 로그인이 보입니다.원문 언어쉽지 않다



먼저, 필요한 설치 패키지를 다운로드하고 설치한 뒤, 필요에 따라 선택하세요(예시로 rhel7.4, 64비트 버전입니다)

하이퍼링크 로그인이 보입니다.



타르 포장 지퍼 열어

Tar -zxvf mysql-8.0.4-0.1.rc.el7.x86_64.rpm-bundle.tar

오류

gzip: stdin: not in gzipformat

tar: Child returnedstatus 1

tar: Error is notrecoverable: exiting now


우회 방법:

z 파라미터를 제거하고 tar -xvf를 사용해 정상적으로 압축을 해제하세요

원인 분석:

1. 압축된 파일의 이름이 인위적으로 변경되었습니다. 예를 들어: 원래 압축이 .gz하지 않고, 접미사가 인위적으로 수정된 후 접미사를 제거한 후 압축 해제할 수 있습니다. 예를 들어, 파일 FMIS2600DMP.tar.gz, gz 접미사를 제거한 후 tar -xvf로 압축을 해제할 수 있습니다

2. -z 매개변수는 실제로 bz2를 호출하는 압력 또는 감압 프로그램이며, 이 매개변수를 제거하면 이 문제를 피할 수 있습니다
소프트웨어 패키지 설치

다음 내용을 따르면 패키지 의존성 문제가 많이 발생할 수 있습니다. 구체적인 문제는 말하지 않겠습니다. 저는 꽤 많은 문제를 겪어봤습니다

mysql-community-server-miniaml-*를 제외한 모든 rpm 패키지를 같은 빈 폴더에 넣으세요. 서버와 클라이언트와 충돌하기 때문입니다.




그 다음 다음 명령어를 사용해 설치하세요(아래 링크를 드린 것처럼 모든 패키지를 직접 설치하는 것을 권장합니다. 제한을 크게 할 필요는 없습니다. 그렇지 않으면 충돌 문제가 발생할 수 있습니다. Yum으로 9rpm 패키지를 모두 설치하세요. yum으로 설치하는 것이 권장되며, rpm 명령어는 사용하지 마세요. yum이 설치 패키지 간 충돌과 의존성을 자동으로 감지하고 해결해 줍니다).

sudoyum install mysql-community-*

설치 참고문헌:https://dev.mysql.com/doc/refman ... stallation-rpm.html


'/var/lib/mysql/mysql.sock 소켓을 통해 로컬 MySQL 서버에 연결할 수 없습니다




해결 단계:

1 systemctl stop mysqld (stop service)

2 rm -fr /var/lib/mysql/* (/var/lib/mysql 아래 모든 파일을 삭제함)

3 rm /var/lock/subsys/mysqld (lock 파일 삭제)

4 killall mysqld (모든 mysqld 프로세스를 킬)

5 systemctl start mysqld (Start the mysql service.) )

참고 링크:https://www.cnblogs.com/okstill/p/5667138.html


루트 사용자가 비밀번호 없이 데이터베이스에 로그인합니다

사용자 'root'@'localhost' 접근 거부 (비밀번호: YES)

메서드:

루트 임시 비밀번호는 건너뛰고 데이터베이스에 로그인해서 비밀번호를 변경하세요

1. MySQL 서비스 종료:

SystemCTL stop mysqld

2. 환경 변수를 권한 검사를 건너뛰도록 설정하세요

systemctlset-environment MYSQLD_OPTS="--skip-grant-tables"

3. MySQL 서비스 재시작

SystemCTL Start MySQLd

4. 루트로 로그인

mysql -u root

이 시점에서 성공적으로 로그인할 수 있습니다




5. 루트 비밀번호 설정

UPDATE mysql.userSET authentication_string= PASSWORD('Root@123') 여기서 User = 'root';

MySQL 5.6 이후에는 validate_password 플러그인이 출시되면서 비밀번호의 힘이 강화되었습니다(일부 지역에서는 이전에도 존재했던 것으로 보이지만 이제는 필수입니다). 비밀번호 강도 요구사항을 지원합니다. 다음 명령어를 통해 validate_password의 각 매개변수의 구성 요구사항을 점검합니다.

MySQL 비밀번호 강도 감사 플러그인: 사용 validate_password 지침http://www.xuchanggang.cn/archives/1033.html


'validate_password%'와 같은 변수를 표시하세요;




다음 명령어를 사용하여 매개변수를 구성할 수 있으며, 비밀번호 강도 요구사항에 가장 중요한 매개변수는 다음과 같은 정책들입니다

set global validate_password.policy=LOW;




보강

UPDATEmysql.user SET authentication_string = 'root123' 여기서 User = 'root';




그래서 비밀번호를 변경하는 마지막 명령어는 다음과 같습니다

UPDATEmysql.user SET authentication_string = 'root123' 여기서 User = 'root';




6. MySQL 서비스 중지

SystemCTL stopMySQLd

7. 이전에 설정한 옵션 취소하여 권한 확인을 건너뛸 수 있습니다

systemCTL 비설정 환경 MYSQLD_OPTS

8. mysql을 정상적으로 시작하세요

SystemCTL Start MySQLd

9. 이전에 설정한 새 비밀번호로 로그인

mysql -u root -p



기록 문제(Problems Loging) 참고:http://blog.csdn.net/u014306472/article/details/78160427



기본 비밀번호를 검토하세요

grep "임시 비밀번호"/var/log/mysqld.log



위 명령어가 한 조각으로 작성된 복사본으로, 복사본이 세 번이 아니라 한 번만 실행되도록 되어 있습니다

다시 로그인하기 전에 systemctl stop mysqld를 확인하도록 스킵 권한을 설정하세요. systemctl set-environmentMYSQLD_OPTS="--skip-grant-tables"; SystemCTL Start MySQLd
리셋
설정이 완료된 후에는 systemctl stopmysqld 권한 검사에 답장하세요. systemctl 비설정 환경 MYSQLD_OPTS; systemctl start mysqld;





이전의:YouCore 사고 훈련: 프레임워크로 문제 해결하기
다음:공공행정 전자 버전 자료
면책 조항:
Code Farmer Network에서 발행하는 모든 소프트웨어, 프로그래밍 자료 또는 기사는 학습 및 연구 목적으로만 사용됩니다; 위 내용은 상업적 또는 불법적인 목적으로 사용되지 않으며, 그렇지 않으면 모든 책임이 사용자에게 부담됩니다. 이 사이트의 정보는 인터넷에서 가져온 것이며, 저작권 분쟁은 이 사이트와는 관련이 없습니다. 위 내용은 다운로드 후 24시간 이내에 컴퓨터에서 완전히 삭제해야 합니다. 프로그램이 마음에 드신다면, 진짜 소프트웨어를 지원하고, 등록을 구매하며, 더 나은 진짜 서비스를 받아주세요. 침해가 있을 경우 이메일로 연락해 주시기 바랍니다.

Mail To:help@itsvse.com