source

OS X에서 MySQL 루트 사용자 암호 설정

lovecheck 2023. 1. 2. 22:41
반응형

OS X에서 MySQL 루트 사용자 암호 설정

방금 Mac OS X에 MySQL을 설치했습니다.다음 단계에서는 root 사용자 비밀번호를 설정하기 위해 다음 절차를 수행합니다.

  1. 터미널 앱을 실행하여 Unix 명령줄에 액세스합니다.

  2. UNIX 프롬프트에서 다음 명령을 실행했습니다.

    cd /usr/local/mysql/bin
    ./mysqladmin -u root password 'password'
    

하지만 명령어를 실행하면

./mysql -u root을 사용하다

Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 224
Server version: 5.5.13 MySQL Community Server (GPL)

Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>

가 들어갈 수 요.mysql!!줄!!!!!!!!!!

왜 이러한가?

「」를 해 주세요.FLUSH PRIVILEGESMySQL my my my my my 。않으면 MySQL .MySQL은 MySQL을 사용합니다.

mysql -u root

mysql> USE mysql;
mysql> UPDATE user SET password=PASSWORD("NEWPASSWORD") WHERE User='root';
mysql> FLUSH PRIVILEGES;
mysql> quit

원하는 비밀번호를 사용하여 NEW PASSWORD를 변경합니다.다 준비됐어!

업데이트: MySQL 5.7 현재password field field field 、 field 、 field 、 。authentication_string비밀번호 변경 시 다음 쿼리를 사용하여 비밀번호를 변경하십시오.다른 모든 명령어는 동일하게 유지됩니다.

mysql> UPDATE user SET authentication_string=PASSWORD("NEWPASSWORD") WHERE User='root';

MySQL 8.0+ 사용 안 함

mysql> UPDATE mysql.user SET authentication_string='password' WHERE User='root'; 

「 」를 에,authentication_string를 대신 대신 다음을 사용합니다.

mysql> `ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass';` 

root에 설정한 비밀번호를 기억하지 못해 재설정해야 하는 경우 다음 절차를 수행합니다.

  1. mysqld 서버를 중지합니다.이것은 인스톨 마다 다릅니다.

  2. 권한 바이패스를 사용하여 서버를 세이프 모드로 실행합니다.

    sudo mysqld_safe --skip-grant-tables;

  3. 데이터베이스에 접속하는 새 창에서 새 비밀번호를 설정하고 권한을 플러시하여 종료합니다.

    mysql -u root

    MySQL 5.7보다 오래된 MySQL의 경우:

    UPDATE mysql.user SET Password=PASSWORD('your-password') WHERE User='root';

    MySQL 5.7 이상의 경우:

    USE mysql;

    UPDATE mysql.user SET authentication_string=PASSWORD("your-password") WHERE User='root';

    새로 고침 및 종료:

    FLUSH PRIVILEGES;

    \q

  4. 세이프 모드 서버를 정지하고, 통상의 서버를 재기동합니다.새로운 패스워드가 기능합니다.저에게는 매력적으로 작용했습니다. :)


메모

실행합니다.UPDATE mysql.user SET authentication_string=null WHERE User='root';user.root ., 「 」의 경우.PASSWORD()기능이 작동하지 않습니다.

MySQL을 설치한 후에는 "root" 암호를 설정해야 합니다.루트 패스워드를 설정하지 않으면 루트 패스워드가 없고 로그인 시 패스워드가 필요 없습니다.

따라서 루트 비밀번호를 설정해야 합니다.

단말기를 사용하여 다음과 같이 입력합니다.

설치:루트 사용자 암호 설정:

/usr/local/mysql/bin/mysqladmin -u root password NEW_PASSWORD_HERE

실수했거나 루트 암호를 변경해야 하는 경우 다음을 사용하십시오.

루트 비밀번호 변경:

cd /usr/local/mysql/bin/
./mysql -u root -p
> Enter password: [type old password invisibly]

use mysql;
update user set password=PASSWORD("NEW_PASSWORD_HERE") where User='root';
flush privileges;
quit

mysql 웹사이트에서 제공되는 지침은 위에서 언급한 것보다 매우 명확합니다.

  1. $ sudo /usr/local/mysql/support-files/mysql.server stop
  2. $ sudo /usr/local/mysql/support-files/mysql.server start --skip-grant-tables
  3. /usr/local/mysql/bin/mysql
  4. mysql> 플래시 특권;
  5. mysql> 'My New Pass'로 식별되는 ALTER 사용자 'root'@'localhost';
  6. mysql>exitCtrl + z 는 Ctrl + z
  7. $ sudo /usr/local/mysql/support-files/mysql.server stop
  8. $ sudo /usr/local/mysql/support-files/mysql.server start
  9. /usr/local/mysql/support-files/mysql -u root -p
  10. 새 비밀번호(예: My New Pass)를 입력합니다.

참고 자료: http://dev.mysql.com/doc/refman/5.7/en/resetting-permissions.html

  1. mysqld 서버를 중지합니다.
  • Mac OS X: 시스템 기본 설정 → MySQLMySQL 서버 중지
  • Linux(터미널에서): sudo systemctl stop mysqld.service
  1. 권한 바이패스를 사용하여 서버를 세이프 모드로 기동합니다.

    • 터미널에서: sudo /usr/local/mysql/bin/mysqld_safe --skip-grant-tables
  2. 터미널 창에서:

    • sudo /usr/local/mysql/bin/mysql -u root
  3. MySQL 명령줄 클라이언트가 열립니다.여기서 다음을 입력합니다.

    • UPDATE mysql.user SET authentication_string=PASSWORD('NewPassword') WHERE User='root';

    • FLUSH PRIVILEGES;

    • quit

  4. mysqld 서버를 다시 중지하고 일반 모드로 재시작합니다.

    • Mac OS X(터미널에서): sudo /usr/local/mysql/support-files/mysql.server restart
    • Linux 터미널: sudo systemctl restart mysqld

새로운 MySQL 5.7의 경우 어떤 이유로 MySQL의 바이너리 명령이 셸에 연결되어 있지 않으므로 다음을 수행해야 합니다.

  1. 인스톨 후, Mac 를 재기동합니다.

  2. MySQL 시작:

    시스템 기본 설정 → MySQL시작 버튼

  3. 터미널의 MySQL 설치 폴더로 이동합니다.

    cd /usr/local/mysql/bin/
    
  4. MySQL에 대한 액세스:

    ./mysql -u root -p
    

    인스톨에 지정된 초기 패스워드를 입력합니다.

  5. MySQL 클라이언트에서 암호를 변경합니다.

    mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPassword';

'하다'라고 .mysql -u root -p를 누릅니다.

기록해 두어야 할 현재 MySQL 비밀번호를 입력합니다.

패스워드를 설정합니다.

SET PASSWORD = PASSWORD('new_password');

상세한 것에 대하여는, 이 메뉴얼을 참조해 주세요.

MySQL 루트 비밀번호를 잊어버린 경우, 를 기억할 수 없거나 침입을 원할 수 없습니다.현재 상자의 루트 사용자 암호를 알고 있는 경우 Linux 또는 OS X 명령줄에서 MySQL 데이터베이스 암호를 재설정할 수 있습니다.

(1) MySQL 정지

sudo /usr/local/mysql/support-files/mysql.server stop

(2) 안전모드로 기동한다.

sudo mysqld_safe --skip-grant-tables

(3) 이 명령어는 프로세스가 완료될 때까지 계속됩니다.따라서 다른/터미널 창을 열고 패스워드 없이 로그인합니다.

mysql -u root

UPDATE mysql.user SET Password=PASSWORD('password') WHERE User='root';

위의 UPDATE 명령에서는 'password'를 새로운 비밀번호로 바꾸기만 하면 됩니다.따옴표는 반드시 유지하십시오.

(4) 절약과 안정

FLUSH PRIVILEGES;

\q

(5) MySQL을 기동

sudo /usr/local/mysql/support-files/mysql.server start

이 문제를 해결했습니다.

  1. MySQL 버 my :mysql.server stop
  2. 실행 : " " " " MySQL " :mysqld_safe --skip-grant-tables
  3. 단말기로 mysql -u root
  4. 에서 " " " 를 실행합니다.UPDATE mysql.user SET authentication_string=null WHERE User='root'; , , , 「 」FLUSH PRIVILEGES; 를 사용하여 종료합니다.exit;
  5. 합니다.mysql.server stop에 보통 것부터 요.mysql.server start

이것으로, 새로운 패스워드를 설정할 수 있습니다.

ALTER USER 'root'@'localhost' IDENTIFIED WITH caching_sha2_password BY 'yourpasswd';

이전 코멘트는 Mac에서 문제를 해결하지 못했습니다.

아래 명령어를 사용했는데 작동했어요.

brew services stop mysql
pkill mysqld
rm -rf /usr/local/var/mysql/ # NOTE: this will delete your existing database!!!
brew postinstall mysql
brew services restart mysql
mysql -u root

OS X v10.10(Yosemite)을 설치했을 때 MySQL에 문제가 발생했습니다.여러 가지 방법을 시도해 봤지만 소용이 없었다.사실 꽤 쉬운 방법을 찾았어요.이거 한번 써보세요.

  1. 먼저 슈퍼 사용자(su) 권한에서 단말기에 로그인합니다.

    sudo su

  2. MySQL 중지

    sudo /usr/local/mysql/support-files/mysql.server stop

  3. 안전 모드에서 시작:

    sudo mysqld_safe --skip-grant-tables

  4. 다른 단말기를 열고 su 권한으로 로그인한 후 MySQL 클라이언트에 로그인합니다( ).mysql패스워드 없음)

    mysql -u root

  5. 패스워드 변경

    UPDATE mysql.user SET Password=PASSWORD('new_password') WHERE User='root';

  6. 플래시 권한

    FLUSH PRIVILEGES;

  7. 이것으로 끝입니다.

기존 답변에 언급된 방법은 MySQL 5.7.6 이상에서는 작동하지 않습니다.MySQL 설명서에 따르면 이 방법이 권장됩니다.

B.5.3.2.3 루트 비밀번호 리셋: 일반 절차

MySQL 5.7.6 이후:

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass';

참고 자료: https://dev.mysql.com/doc/refman/5.7/en/resetting-permissions.html

비밀번호를 기억하지 못할 경우, @radtek의 답변이 효과가 있었습니다.단, 제 경우 brew를 사용하여 MySQL을 설정했습니다.즉, 답변의 1단계와 2단계를 다음과 같이 변경해야 했습니다.

  1. /usr/local/bin/mysql.server stop

  2. /usr/local/bin/mysqld_safe --skip-grant-tables

주의: 의 결여sudo.

이 방법이 효과가 있을 것 같습니다.

ALTER USER 'root'@'localhost' IDENTIFIED BY 'YOURNEWPASSWORD'

(루트가 아닌 경우 root을 사용자 이름으로 대체해야 합니다).

이게 바로 나한테 효과가 있었던 거야

  1. 실행 중인 다른 MySQL 프로세스가 없는지 확인합니다.이것을 확인하려면 , 다음의 순서에 따릅니다.

    • 단말기에서 다음 명령을 실행합니다.

      lsof -i:3306
      

      PID가 반환되면 다음 명령을 사용하여 PID를 종료합니다.kill -9 PID

    • System Preferences → MySQL실행 중인 MySQL 인스턴스가 있는지 확인하고 중지합니다.

  2. 다음 명령으로 MySQL을 시작합니다.

    sudo /usr/local/mysql/bin/mysqld_safe --skip-grant-tables
    
  3. 모든 사용자의 비밀번호는 mysql.user 테이블의 User 열과 authentication_string 열에 각각 저장됩니다.표는 다음과 같이 갱신할 수 있습니다.

    UPDATE mysql.user SET authentication_string='your_password' where User='root'
    

MySQL Server 중지

sudo /usr/local/mysql/support-files/mysql.server stop

MySQL을 안전 모드로 시작하는 중

sudo /usr/local/mysql/bin/mysqld_safe --skip-grant-tables &

루트 비밀번호 변경

/usr/local/mysql/bin/mysql -u root

use mysql;
UPDATE user SET authentication_string=PASSWORD('NEW_PASSWORD') WHERE user='root';
FLUSH PRIVILEGES;
exit

테스트

달려./usr/local/mysql/bin/mysql -u root

MySQL 사용을 시작하려면 새 암호를 입력하십시오.

MySQL 8.0.15 + 를 참조하려면 password() 함수를 사용할 수 없습니다.다음 명령을 사용합니다.

편리한 사용

UPDATE mysql.user SET authentication_string='password' WHERE User='root';

§ Apple 메뉴를 클릭하여 System Preferences를 열면 Mac에서 MySQL을 수동으로 끌 수 있습니다."MySQL" 환경설정 패널을 선택한 다음 "Stop MySQL Server" 버튼을 클릭하여 Mac에서 MySQL Server를 중지합니다.

MySQL을 중지한 후에는 다음 단계를 수행해야 합니다.

  • MySQL을 skip-grant-tables 모드로 시작해야 합니다.

    sudo /usr/local/mysql/support-files/mysql.server start --skip-grant-tables
    
  • 단말기 자체에서 이 명령을 입력하여 기존 권한을 플러시합니다.

    /usr/local/mysql/bin/mysql mysql> FLUSH PRIVILEGES;
    
  • 이제 사용자 암호를 변경해야 합니다.

    mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'newpassword';
    
    mysql> exit
    

그런 다음 § Apple 메뉴로 이동하여 System Preferences를 엽니다."MySQL" 환경설정 패널을 선택한 다음 "Stop MySQL Server" 버튼을 클릭하여 Mac에서 MySQL Server를 중지합니다.

마지막으로 § Apple 메뉴로 이동하여 System Preferences를 엽니다."MySQL" 기본 설정 패널을 선택한 다음 "Start MySQL Server" 버튼을 클릭하여 Mac에서 MySQL Server를 시작합니다.

이 회피책은 노트북에서 사용할 수 있습니다.

Mac OS v10.14.5 (Mojave)탑재 Mac.

MySQL 8.0.17은 Homebrew와 함께 설치되었습니다.

  • 다음 명령을 실행하여 MySQL 경로를 찾습니다.

    brew info mysql

  • 경로가 알려지면 다음을 수행합니다.

    /usr/local/Cellar/mysql/8.0.17/bin/mysqld_safe --skip-grant-table

  • 다른 터미널에서 다음을 실행합니다.

    mysql -u root

  • 이 단말기에서 다음 명령을 사용하여 루트 비밀번호를 변경했습니다.

    update mysql.user set authentication_string='NewPassword' where user='root';

  • 끝내기 위해 나는 달린다:

    FLUSH PRIVILEGES;

그리고 암호가 재설정되었습니다.

레퍼런스

단말기로 시험해 보겠습니다.

/usr/local/bin/mysql_secure_installation

5.7.26이 설치된 MacOS v10.14(Mojave) 이후.

다른 사용자가 게시한 UPDATE 명령을 사용하려고 하면 다음 오류가 발생합니다.

오류 1820(HY000):이 문을 실행하기 전에 ALTER USER 문을 사용하여 비밀번호를 리셋해야 합니다.

설치 관리자에서 제공한 암호를 복사하고 터미널을 연 후 다음을 수행합니다.

mysql -uroot -p
ALTER USER 'root'@'localhost' IDENTIFIED BY 'YOURPASSWORDHERE';

MySQL 8의 경우

  1. MySQL 서버 종료
  • [ System Preferences ]-> [ MySQL ]으로 이동합니다.
  • [ ] 를 합니다.Stop MySQL Server가 끼다
  1. 터미널 [명령줄]창 2개 열기

  2. 첫 번째 터미널 창에서 다음을 수행합니다.

mysqld_safe --skip-grant-tables
  1. 두 번째 터미널 창에서 다음을 수행합니다.

4.1. MySQL 로그인

mysql -u root

4.2. MySQL 프롬프트에서 다음을 실행합니다.

FLUSH PRIVILEGES;
ALTER USER 'root'@'localhost' IDENTIFIED BY 'NEWPASSWORD';

4.3. MySQL 종료

exit;
  1. 셧다운합니다.mysqld_safe

5.1. + 를 누릅니다.

5.2. 다음 명령을 실행합니다.

mysqladmin -u root -p shutdown

3 에서 한 새로운 비밀번호를 합니다.4.2.프롬프트가 뜨면

  1. Server를 기동합니다(「MySQL Server」를 참조).1.

암호를 잊어버렸거나 MySQL로 변경하려는 경우:

  1. 터미널을 시작하고 다음을 입력합니다.

    sudo su
    
  2. 시스템 비밀번호를 입력합니다.

  3. MySQL 서버 중지:

    sudo /usr/local/mysql/support-files/mysql.server stop
    
  4. 을 열어두고 두 번째 터미널 창을 실행하고 여기에 입력합니다.

    mysql -u root
    
  5. MySQL 비밀번호를 변경합니다.

    UPDATE mysql.user SET authentication_string=PASSWORD('new_password') WHERE User='root';
    

    여기서 "new_password"는 새 비밀번호입니다.MySQL에는 이전 암호가 필요하지 않습니다.

  6. 플래시, 종료 및 새 비밀번호 확인:

    FLUSH PRIVILEGES;
    
  7. 모든 창을 닫고 MySQL의 새 암호를 확인합니다.

MySQL 8은 많이 변경되었습니다. Mac OS X에서 작동하는 MySQL 8.0 "루트 암호 재설정 방법" 설명서의 다음과 같은 수정 사항을 발견했습니다.

파일인 '일시 파일'을 .$HOME/mysql.root.txtSQL 루트

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '<new-password>';

은 「」를 사용합니다.mysql_native_password인증 플러그인 'caching_sha2_password' cannot be loaded 오류(옵션을 생략하면 표시됩니다).

하고, 「」로 합니다.--init-file비밀번호를 root "을 :

mysql.server stop
mysql.server start --init-file=$HOME/mysql.root.txt
mysql.server stop
mysql.server start
mysqld_safe --skip-grant-tables
mysql -u root
UPDATE mysql.user SET authentication_string='yourpasswd' WHERE User='root';
FLUSH PRIVILEGES;
ALTER USER 'root'@'localhost' IDENTIFIED WITH caching_sha2_password BY 'yourpasswd';

MacBook이 재부팅될 때마다 어떻게든 이 작업을 수행해야 합니다.

$ export PATH=$PATH:/usr/local/mysql/bin

now,to make this permanent:
$ echo 'export PATH=$PATH:/usr/local/mysql/bin' >> ~/.bash_profile

next, start mysql in safe mode:
$ sudo mysqld_safe --skip-grant-tables;

If this does not work, go to System Preferences and stop MySQL server.
next, On the **other** terminal, you may use the below:

$ mysql -u root

mysql> USE mysql;

mysql> UPDATE mysql.user SET authentication_string=null WHERE 
User='root';

mysql> FLUSH PRIVILEGES;

mysql> exit;

$ mysql -u root
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH 
caching_sha2_password BY 'yourpassword';

$ mysql -u root -p
Enter password: 
mysql> SELECT user();

next, start the mysql server in normal mode. and you're done with resetting your root password. this worked for mysql 8.0.17 ver. for me.
thanks to everyone on top, https://stackoverflow.com/questions/36099028/error-1064-42000-you-have-an-error-in-your-sql-syntax-want-to-configure-a-pa,

https://www.houseninetytwo.com/how-to-use-mysql-in-terminal-on-mac-os-high-sierra/ # : ~ : text = % 20 % 20 got % 20 something , % 2 Fmysql % 2 Fbin % 2 Fmysql . & text = % 20 실행 % 20 % 20 the % 20 right , return % 20 your % 20 version % 20 of 20 MySQL .

언급URL : https://stackoverflow.com/questions/6474775/setting-the-mysql-root-user-password-on-os-x

반응형