CentOS 7에서 mysql 루트 비밀번호 설정

CentOS 7에서 mysql 루트 비밀번호 설정

mysql 5.6 명령줄 클라이언트에 로그인하고 Centos7에서 루트 비밀번호를 재설정하는 방법은 무엇입니까?

나는 다음을 읽었습니다이 링크에서, 하지만 작동하지 않습니다.

1) sudo service mysqld stop
2) sudo service mysqld startsos
3) mysql -u root
4) Now you will be at mysql prompt. Here type:-
4.1) UPDATE mysql.user SET Password=PASSWORD('NewPassHere') WHERE User='root';
4.2) FLUSH PRIVILEGES;
4.3) quit;
5) sudo service mysqld restart  

위 1) 단계의 결과는 다음과 같습니다.

[root@localhost ~]# sudo service mysqld stop
Redirecting to /bin/systemctl stop  mysqld.service
Failed to issue method call: Unit mysqld.service not loaded.

위 3)단계의 결과는 다음과 같습니다.

-bash: syntax error near unexpected token `('

3단계를 로 변경하면 UPDATE mysql.user SET Password='NewPassHere' WHERE User='root';다음 오류가 발생합니다.

bash: 업데이트: 명령을 찾을 수 없습니다...

su -나는 be를 입력 root하고 mysql - u root다음 프롬프트에서 mysql에 들어갈 수 있는 것 같습니다. 그런데 위 5단계 명령은 해당 단어를 삭제하거나 로 sudo바꿔도 동작하지 않습니다.servicesystemctl루트 비밀번호 설정부터 CentOS 7의 mysql 5.6 명령줄에 대한 작업 액세스 권한을 얻는 방법은 무엇입니까?

답변1

RHEL/Centos 7에 최신 MySql 5.7을 설치하려면 몇 가지 단계가 있습니다:

1 단계-: 다음 EPEL 저장소를 추가하세요.

$ sudo rpm -iUvh http://dev.mysql.com/get/mysql57-community-release-el7-7.noarch.rpm

2 단계-: MySql 서버를 설치하려면 아래 yum 설치 프로그램을 사용하세요.

$ sudo yum mysql 서버 설치 

3단계-: 시스템 시작 항목에 추가하고 Mysql Server를 시작합니다.

$ sudo systemctl mysqld 활성화
$ sudo systemctl mysqld 시작

4단계-: MySql 서버 루트 비밀번호를 재설정합니다.

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

출력은 -와 유사합니다.

10.744785Z 1 [참고] root@localhost에 대한 임시 비밀번호 생성: o!5y,oJGALQa

mysql_secure_installation 재설정 프로세스 중에 위의 비밀번호를 사용하십시오.

$ sudo mysql_secure_installation
MySQL 서버 배포를 보호합니다.

루트 사용자의 비밀번호를 입력하세요:
"validate_password" 플러그인이 서버에 설치되어 있습니다.
후속 단계는 기존 구성을 사용하여 실행됩니다.
플러그인.
루트의 기존 비밀번호를 사용하십시오.

예상 비밀번호 강도: 100
루트 비밀번호를 변경하시겠습니까? (("예"의 경우 y|Y를 누르고, "아니요"의 경우 다른 키를 누르세요): y

새 비밀번호:

새 비밀번호를 다시 입력하세요.

예상 비밀번호 강도: 100
제공된 비밀번호를 계속 사용하시겠습니까? ("예"의 경우 y|Y를 누르고, "아니요"의 경우 다른 키를 누르십시오): y
기본적으로 MySQL은 익명 사용자로 설치됩니다.
소유권 없이 누구나 MySQL에 로그인할 수 있도록 허용
그들을 위해 생성된 사용자 계정. 이는 다음에만 적용됩니다.
테스트하고 설치 과정을 보다 원활하게 만드세요.
프로덕션에 들어가기 전에 제거해야 합니다.
환경.

익명 사용자를 삭제하시겠습니까? ("예"의 경우 y|Y를 누르고, "아니요"의 경우 다른 키를 누르십시오): y
성공.


일반적으로 루트만 연결이 허용됩니다.
'로컬 호스트'. 이렇게 하면 다른 사람이 추측할 수 없습니다.
네트워크의 루트 비밀번호입니다.

원격 루트 로그인을 비활성화하시겠습니까? ("예"의 경우 y|Y를 누르고, "아니요"의 경우 다른 키를 누르십시오): y
성공.

기본적으로 MySQL에는 "test"라는 데이터베이스가 제공됩니다.
누구나 접근할 수 있습니다. 이것도 그냥 테스트용이고,
생산에 들어가기 전에 제거해야 합니다.
환경.


테스트 데이터베이스를 삭제하고 액세스하시겠습니까? ("예"의 경우 y|Y를 누르고, "아니요"의 경우 다른 키를 누르십시오): y
 - 테스트 데이터베이스 삭제...
성공.

 - 테스트 데이터베이스에 대한 권한 제거...
성공.

권한 테이블을 다시 로드하면 모든 변경 사항이 보장됩니다.
지금까지 취해진 결정은 즉시 적용됩니다.

이제 권한 테이블을 다시 로드하시겠습니까? ("예"의 경우 y|Y를 누르고, "아니요"의 경우 다른 키를 누르십시오): y
성공.

모두 완료되었습니다!

MySql 서버의 루트 비밀번호를 성공적으로 재설정했습니다.

5단계-: mysql 서버가 연결되어 있는지 확인하려면 다음 명령어를 사용하세요.

$ mysql -u 루트 -p

출력 -:

MySQL 모니터에 오신 것을 환영합니다. 명령은 ; 또는 \g로 끝납니다.
MySQL 연결 ID는 9입니다.
서버 버전: 5.7.12 MySQL 커뮤니티 서버(GPL)

Copyright (c) 2000, 2016, Oracle 및/또는 그 계열사. 판권 소유.

Oracle은 Oracle Corporation 및/또는 그 회사의 등록 상표입니다.
자회사. 다른 이름은 해당 회사의 상표일 수 있습니다.
소유자.

도움말을 보려면 "help" 또는 "\h"를 입력하세요. 현재 입력 문을 지우려면 "\c"를 입력하세요.

mysql>

내 기사를 참조하세요:최신-mysql-5-7-rhelcentos-7을 설치합니다.

답변2

때로는 구성이 중단될 수도 있습니다. 따라서 패키지가 전혀 설치되지 않은 것처럼 다시 시작하는 것이 더 쉬울 것입니다. 귀하의 경우에는 MySQL을 고려하고 있습니다.

  1. 다음과 같이 Yum을 사용하여 MySQL을 삭제합니다.
    yum remove mysql mysql-server
  2. MySQL을 제거한 후 구성을 안전하게 백업할 수 있습니다.
    mv /var/lib/mysql /var/lib/mysql_old_backup
    이를 제거하려면 다음을 실행하십시오.
    rm -vR /var/lib/mysql
  3. 이제 공식 MySQL 저장소의 패키지에 포함된 기본 구성을 사용하여 MySQL을 안전하게 다시 설치할 수 있습니다( wget저장소를 업데이트할 rpm을 가져와야 합니다).
    yum install wget
  4. 이제 저장소를 다운로드하여 설치하십시오.
    wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm && rpm -ivh mysql-community-release-el7-5.noarch.rpm
  5. 저장소가 설치되어 있는지 확인합니다.
    ls -1 /etc/yum.repos.d/mysql-community*
  6. 실제 설치 명령을 실행합니다(이 명령은 mysql-serverCentOS 저장소의 업스트림 MySQL용 공식 패키지를 대체합니다).
    yum install mysql-server
  7. 제공된 스크립트를 사용하여 루트 비밀번호를 설정하세요. 이제 다시 새로 설치했습니다. mysql_secure_installation
    스크립트를 사용한 후 비밀번호를 설정해야 하는 경우 다음을 사용하세요.
    mysql -u root
  8. 이제 다음과 같이 표준 명령을 사용하여 데몬을 systemctl시작 하고 중지할 수 있습니다.systemd
    systemctl start mysqld

인용하다

  1. Linux 시스템에서 MySQL을 완전히 제거하는 방법 - CentOS
  2. CentOS 7/RHEL 7에 MySQL Server 5.6을 설치하는 방법

답변3

명령을 사용하여 MySQL을 입력하는 경우:

mysql -u root

그러면 이미 MySQL에 액세스할 수 있고, "루트" 사용자에 대한 비밀번호를 설정하지 않았거나(아마도) MySQL의 구성 파일(예: /etc/my.cnf.

MySQL 루트 비밀번호를 재설정하려면 다음을 실행할 수 있어야 합니다.

$ mysql_secure_installation

답변4

비밀번호 때문에 오셨다면 이용해주세요

sudo grep 'temporary password' /var/log/mysqld.log

비밀번호는 -와 같이 문자열 끝에 표시됩니다.

2021-09-20T08:57:32.734131Z 1 [Note] A temporary password is generated for root@localhost: tgo;40Yj;_xy3

관련 정보