MySQL에서 임시 암호를 자동으로 생성한 후 액세스할 수 없습니다.
OSX 10.11 El Capitan
이 튜토리얼을 따라다니면서MySQL
새로운 OS X 상에서 가동하고 있습니다.첫 번째 단계는 MySQL For Mac OS X 10.9(x86, 64비트), DMG 아카이브(10.11에서 작동, 튜토리얼에서 권장)를 다운로드하는 것이었습니다.MySQL 설치를 완료하고 있을 때 다음과 같은 메시지가 나타납니다.
2015-10-25T02:10:54.549219Z 1 [Note] A temporary password is generated for root@localhost: R>gFySuiu23U
If you lose this password, please consult the section How to Reset the Root Password in the MySQL reference manual.
★★★★★★★★★★★★★▼후 을 기동하여 "" "MySQL" 을 사용합니다./usr/local/mysql/bin/mysql -v
명령어를 사용하여 다음 절차를 수행합니다.
ERROR 1045 (28000): Access denied for user 'cheetah'@'localhost' (using password: NO)
, 데이터베이스 접속을 시도했습니다.Sequel Pro
을 사용자 및 과 같은 root 를 、 를를 、 를를 、 를 using음,, 。
Unable to connect to host 127.0.0.1 because access was denied.
Double-check your username and password and ensure that access from your current location is permitted.
MySQL said: Access denied for user 'root'@'localhost' (using password: NO)
네, 사용자 이름으로 root을 사용하여 다시 시도했지만 'R>gFySuiu23'U'를 비밀번호로 지정합니다(MySQL에서 생성).다음과 같은 연결 실패 메시지를 받았습니다.
Unable to connect to host 127.0.0.1, or the request timed out.
Be sure that the address is correct and that you have the necessary privileges, or try increasing the connection timeout (currently 10 seconds).
MySQL said: Your password has expired. To log in you must change it using a client that supports expired passwords.
어떻게 하면 이 문제를 해결할 수 있을까요?MySQL은 이런 임시비밀번호가 자동으로 생성된 적이 없었던 것으로 기억합니다.
이것을 시험해 보세요.
mysql -u root -h 127.0.0.1 -p
Enter password: (enter the random password here)
참조: https://dev.mysql.com/doc/refman/5.7/en/data-directory-initialization-mysqld.html
에 '비밀번호 '을 사용해서 다시 설정할 수도 없이 ' 리셋'을 하면 .ALTER USER 'root'@'localhost' IDENTIFIED BY 'new-password';
이것이 MySql v5.7(.dmg에서 설치)을 실행하는 OS X Yosemite에서 작동한 것입니다.
cd /usr/local/mysql/bin
./mysql -u root -p --connect-expired-password
(설치자에 의해 생성된 임시 비밀번호를 입력합니다).
그러면 샌드박스 모드가 되고mysql>
신속한.다음으로 SET PASSWORD를 사용하여 원하는 루트 비밀번호를 설정합니다.
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('mySuperSecretPassword');
MySQL이 생성한 비밀번호가 만료되었기 때문에 이 비밀번호를 다시 작동시키거나(1) 새 비밀번호를 생성해야 하는 문제가 줄어듭니다.이는 MySQL을 skip-grant-tables 옵션과 함께 실행하면 액세스 권한을 무시하게 됩니다.
MySQL 서버를 중지합니다.
my.cnf 파일의 [mysqld]섹션 끝에 다음 항목을 추가하여 저장합니다.
skip-grant-tables
MySQL 서버를 시작합니다.
터미널에 다음을 입력합니다.
mysql -u root -p
MySQL 명령 프롬프트로 이동합니다.
명령 프롬프트에 다음과 같이 입력합니다.
USE mysql;
데이터베이스 사용자를 유지하는 mysql 데이터베이스로 이동합니다.
유형
UPDATE user SET password_expired = 'N' WHERE User = 'root';
비밀번호가 만료되지 않았음을 MySQL에 알리기 위해 (1) 또는
UPDATE user SET authentication_string = PASSWORD('YourNewPassword'), password_expired = 'N' WHERE User = 'root';
루트(2)에 새 비밀번호를 할당합니다.
OSX 10.11 El Capitan 및 MySQL 5.7.X에서 이러한 절차를 수행하면 문제가 해결됩니다.
MySQL이 이미 설치되어 있는 것을 고려하면...
터미널 창을 열고 다음을 입력합니다.
- sudo /usr / local / support - files / support . server stop
- sudo mysqld_safe --sudo-mysqld-safe
스텝 2에서 기동된 명령어는 on on 상태가 되므로 다른 터미널 창을 열고 다음과 같이 입력해야 합니다.
- mysql -u 루트 -p
- UPDATE mysql.user SET password_expired='N', authentication_string=암호(') 여기서 User='root';
- 종료.
- sudo /usr / local / support - files / support . server restart
중요: 2단계에서는 비밀번호를 치환해야 합니다.
잘 되길 바랍니다.
MySQL 비밀번호가 만료되었습니다.
를 리셋 시큐러티의됩니다.default_password_lifetime
variable은 360(약 1년)입니다.이러한 버전의 경우 이 변수(또는 개별 사용자 계정)를 변경하지 않으면 모든 사용자 비밀번호가 360일 후에 만료됩니다.
일반적으로 스크립트에서 "비밀번호가 만료되었습니다.로그인하려면 만료된 비밀번호를 지원하는 클라이언트를 사용하여 변경해야 합니다."
자동 기한이 만료되지 root(루트)로 합니다.mysql -u root -p
그런 다음 서버에 자동으로 연결하는 클라이언트(스크립트 등)의 경우 해당 클라이언트의 비밀번호 유효기간 설정을 변경합니다.
ALTER USER 'script'@'localhost' PASSWORD EXPIRE NEVER;
또는 모든 사용자에 대해 자동 비밀번호 유효기간을 비활성화할 수 있습니다.
SET GLOBAL default_password_lifetime = 0;
링크:
MySQL: 비밀번호 유효기간 및 샌드박스 모드
MySQL: 비밀번호 만료 정책
MySQL Server 5.7의 암호 만료 정책
macOS Sierra(10.12.3)를 실행하고 있으며 mysql-5.7.17-macos10.12-x86_64.dmg를 설치했습니다.
@은 @lesley를 해야 한다는 것 ../
현재 작업 디렉토리에서 mysql 바이너리를 호출하고 있는지 확인합니다.여기서 앞서 말한 패키지가 설치되었습니다.
당신이 가 if if if ifcd
로로 합니다./usr/local/mysql/bin
mysql -u root -p --connect-expired-password
가 날 수
mysql: unknown option '--connect-expired-password'
그냥 만 하면 돼요. 왜냐하면 단순히 도망치는 것만으로mysql
이전에 설치된 버전의 MariaDB 클라이언트라고 불리는 경로를 제공하지 않습니다.
따라서 올바른 바이너리를 실행하기 위해 다음 중 하나를 수행합니다.
절대 경로를 제공하다
/usr/local/mysql/bin/mysql -u root -p --connect-expired-password
또는 디렉토리 변경 후의 상대 경로
cd /usr/local/mysql/bin
./mysql -u root -p --connect-expired-password
두 가지 방법 모두 효과가 있을 것입니다.클라이언트에 접속하면, @lesley로부터의 순서는 상기와 같습니다.
설치 관리자가 생성한 임시 암호를 입력하고 새 암호를 설정합니다.
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('yourNewPassword');
저도 같은 문제에 직면했어요.https://www.ntu.edu.sg/home/ehchua/programming/sql/MySQL_HowTo.html의 설치 프로세스 가이드에 따라 DMG 아카이브를 다운로드하여 MySQL을 MAC OS X 10.12.2에 설치했습니다.
마침내 새로운 터미널에서 다음 명령어를 실행.
cd /usr/local/mysql/bin
./mysql -u root -p --connect-expired-password
됐다.
답변은에게 효과가 있었다: 7번 답변은 효과가 있었다.El capitan
,MySQL
및 비밀번호에서 되었지만 dmg가 "dmg"로 설정되어 있는지 합니다.cd
로로 합니다./usr/local/bin/mysql
를 입력하기 ./mysql -root -p
뻔하지만 처음엔 그러지 않았어요
이제 모든 데이터베이스와 테이블이 어디에 있는지, 그리고 이들을 연결하는 방법을 알아보겠습니다.
Mysql 5.7에서는
셸 $> sudo grep '비밀번호 변경' /var/log/mysqld.log
이 특별한 것이 나를 위해 묘기를 부렸다.
다음 링크에 기재된 바와 같이 https://www.variphy.com/kb/mac-os-x-reset-mysql-root-password
실행을 제외한 모든 단계를 수행합니다.
UPDATE mysql.user SET Password=PASSWORD('NewPassword') WHERE User='root';
실행
UPDATE mysql.user
SET authentication_string = PASSWORD('MyNewPass'), password_expired = 'N'
WHERE User = 'root' AND Host = 'localhost';
그런 다음 FLUSH PRIVALY를 실행합니다.
이 문제를 해결하는 또 다른 방법은 이전 버전의 MySQL을 사용하는 것입니다.
MySQL version 5.7.9
X 의 는, 를 실행해, 낡은 버전의 Mac X 10.9(x86, 64비트), DMG 를 합니다.MySQL version 5.6.7
(Mac OS X 10.9(x86, 64)), DMG "Mag").이 문제는 해결되었습니다.이 오래된 버전의 설치를 완료하기 전에 지정된 자동 생성된 비밀번호가 없어지고 최종적으로 root를 사용자 이름으로 사용하고 빈 비밀번호를 사용하여 데이터베이스에 액세스할 수 있습니다.모든 게 잘 되고 있어!
view brew를 설치했는데 다음 경고가 표시될 때까지 동일한 오류 메시지가 나타납니다.
루트 암호 없이 MySQL 데이터베이스를 설치했습니다.보안을 설정하려면 mysql_secure_installation을 실행합니다.
연결 방법: mysql -uroot
지금 바로 mysql을 시작하고 로그인 시 재시작하려면: brew services start mysql
백그라운드 서비스를 원하지 않거나 필요하지 않은 경우 mysql.server start를 실행하면 됩니다.
나는 달리기를 통해 이 문제를 해결했다.'mysql -u root -p --connect-expired-password'
그런 다음 mysql에서 만료된 자동 생성 암호를 입력합니다.드디어 들어왔어.가 " " " mysql db가 'use mysql'
를 'root' pw로 했습니다.'ALTER USER 'root'@'localhost' IDENTIFIED BY 'your new password'
패키지를 처음 다운로드하여 MySQL을 수동으로 설치하면 루트의 기본 암호가 생성됩니다.복사해서 저장하세요.연속적인 재인스톨시에 어떠한 방법으로도 행해지지 않으면, 그 패스워드는 표시되지 않습니다.
따라서 루트에 로그인할 수 없습니다.다음을 수행합니다.
- mysql에서 합니다.
sudo find / -name mysql
- 를 모두 하려면 mysql을 클릭합니다.
rm -rf <mysql_entries_above>
- 최신 mysql-server를 다운로드하여 설치합니다.
- 복사해야 하는 기본 암호를 입력하라는 메시지가 표시됩니다.
- 실행합니다.
mysql_secure_installation
루트를 요구받으면 패스워드를 붙여넣습니다. - 그 후 지시에 따라 admin 비밀번호를 변경합니다.
저는 Mysql 서버를 재시작하는 것이 성공했습니다.
그러나 Mysql80 서버에서는 5.7보다 복잡합니다.MySQL80에서는 "skip grant table" 상태의 my.cnf 구성 중에 비밀번호를 업데이트 또는 변경할 수 없습니다.그래서 큰 세 가지 단계를 거쳐야 합니다.
I) my.cnf를 skip-grant-table로 변경합니다.
II) 빈 비밀번호를 사용하여 MySQL에 로그인하고 테이블을 빈 비밀번호로 갱신
III) mysql을 재시작하고 빈 비밀번호로 로그인하여 새 비밀번호로 업데이트
순서: (루트 패스워드, 설치에 의한 임시 패스워드 gen, 기능하지 않는 것 등)FreeBSD 12.2의 경우는, 이하의 순서에 따라주세요.
mysql 서버 중지 시간:
/usr/local/etc/rc.d/mysql-server stop
그것이 정말로 정지하고 있는지 다시 확인한다(그보다 심각한 문제의 경우).
/usr/local/etc/rc.d/mysql-server status mysql is not running.
my.cnf 파일을 찾아 "skip-grant-tables"를 추가합니다.(통상 [Mysqldump]헤드 앞)
restart mysql
/usr/local/etc/rc.d/mysql-server start
mysql 로그인
mysql -u root -p
패스워드를 요구할 때 Enter 키를 누르기만 하면 mysql에 로그인합니다.
사용할 DB 선택
use mysql
테이블 사용자를 보다
select user, authentication_string,password_expired from user;
빈 암호로 업데이트
UPDATE user SET authentication_string = '', password_expired='N' WHERE User = 'root';
mysql을 종료하고 mysql을 중지합니다.
그런 다음 goto file my.cnf 파일을 파일에서 "my.cnf"를 삭제합니다.
"sysql - u root -p"를 사용하여 mysql을 다시 시작합니다.비밀번호를 공백으로 입력합니다.
그리고나서
ALTER USER 'root'@'localhost' IDENTIFIED WITH
caching_sha2_password BY 'YourNewPassword';
- mysql을 종료하고 mysql을 중지합니다.
- mysql을 다시 시작하면 새 비밀번호로 로그인하게 됩니다.
이 문제는 이전에 mysql을 설치한 적이 있을 때 발생할 수 있습니다.mysql의 마지막 버전에서 설정한 비밀번호를 사용해 보십시오.이건 나한테 효과가 있었어.
언급URL : https://stackoverflow.com/questions/33326065/unable-to-access-mysql-after-it-automatically-generated-a-temporary-password
'sourcecode' 카테고리의 다른 글
창문은 어떻게 정면으로 가져오죠? (0) | 2022.09.14 |
---|---|
기본 생성자와 인라인 필드 초기화 (0) | 2022.09.14 |
JRE 또는 JDK가 설치되어 있는지 확인하는 방법 (0) | 2022.09.14 |
Java를 사용하여 멀티파트/폼데이터 POST 요청을 하려면 어떻게 해야 합니까? (0) | 2022.09.14 |
디폴트 방식의 인터페이스는 언제 초기화됩니까? (0) | 2022.09.14 |