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