sourcecode

MacOSX homebrew mysql 루트 패스워드

copyscript 2022. 9. 4. 21:50
반응형

MacOSX homebrew mysql 루트 패스워드

어떤 이유로 MySQL이 루트에 대한 액세스 권한을 중지했습니다.Homebrew를 분리하여 재설치.새로운 설치, 새로운 테이블, 그러나 내가 들어갔을 때

mysql -u root -p

다음의 에러가 표시됩니다.

사용자 'root'@'localhost'에 대한 액세스가 거부되었습니다(암호: NO 사용).

MySQL을 5번 재설치했는데도 비밀번호가 요구됩니다.이거 어떻게 고쳐야 돼요?

난 하나도 안 먹혔어제 컴퓨터 어딘가에 이미 mysql이 있어서 패스워드가 설정되어 있는 것 같습니다.모든 솔루션을 몇 시간 동안 사용해 본 결과, 다음과 같은 것이 실현되었습니다.

$ 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 -uroot

모든 것이 @Grua 덕분이다.

만 하면 됩니다.NEWPASS패스워드입니다).

$(brew --prefix mysql)/bin/mysqladmin -u root password NEWPASS

저는 같은 실수를 해서 이렇게 고쳤습니다.

루트 패스워드를 실수로 설정했다가 잊어버린 경우, 귀찮고 백업솔루션을 사용하는 것을 잊어버려서 모든 데이터베이스를 지우고 다시 시작하고 싶지 않은 경우, 그리고 상당히 최근의 Homebrew 설치(2013년 Winter)를 사용하고 있는 경우, 다음은 MySQL의 패스워드를 재설정하는 단계입니다.

현재 실행 중인 MySQL 인스턴스를 중지합니다.

launchctl unload -w ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist

이제 인가 테이블과 네트워킹을 수동으로 건너뛰어 mysql을 시작합니다.

$(brew --prefix mysql)/bin/mysqld_safe --skip-grant-tables --skip-networking

echo $(brew --prefix mysql)를 실행했는데 bash에서 "/usr/local/opt/mysql"로 응답하지 않으면 경로를 적절하게 조정해야 합니다.

이렇게 하면 보호되지 않은 실행 중인 MySQL 인스턴스가 가동됩니다.

로그인하여 패스워드를 설정합니다.

mysql -u root

프롬프트에서 다음 MySQL 명령을 입력하여 영향을 받는 사용자의 새 암호를 설정합니다.

mysql> update mysql.user set password=PASSWORD('new_password_here') WHERE user='root';

모든 것이 계획대로 진행된다면 다음과 같이 기술해야 합니다.

Query OK, 1 row affected (0.02 sec)
Rows matched: 4  Changed: 1  Warnings: 0

MySQL 프롬프트를 종료합니다.

mysql> exit
Bye

서버 중지:

mysqladmin -u root shutdown

이제 부팅 데몬을 원래대로 되돌려 MySQL을 다시 사용할 수 있도록 하겠습니다.

launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist

축하해요.mysql root 비밀번호를 리셋했습니다.커피를 따라 백업 솔루션을 준비하세요!

도도 、 전에에전전전 제제어 。 시 합니다.mysql★★★★★★★★★★★★★★★★★를 통해homebrew 스크립트초기화 스크립트)를 합니다.mysql_install_db)를 기동하기 전에,mysql데몬

하기 위해서 삭제하면 .mysql서비스를 재시작하고 초기화 스크립트를 실행합니다.

launchctl unload -w ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
rm -r /usr/local/var/mysql/
launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
unset TMPDIR
mysql_install_db --verbose --user=`whoami` --basedir="$(brew --prefix mysql)" --datadir=/usr/local/var/mysql --tmpdir=/tmp

home brew를 통해 mysql을 설치한 후 이 오류가 발생하였습니다.

먼저 설치를 제거합니다.그런 다음 홈브루를 사용하여 다시 설치합니다.

brew update
brew doctor
brew install mysql

그런 다음 mysql 서비스를 재시작합니다.

 mysql.server restart

그런 다음 이 명령을 실행하여 새 루트 암호를 설정합니다.

 mysql_secure_installation

마지막으로 특권을 새로고침하도록 요구됩니다.승낙하다.그런 다음 mysql에 다시 로그인합니다.그리고 설정한 새 비밀번호를 사용합니다.

mysql -u root -p

모하비, Catalina, Big Sur를 실행하고 MacOS Montrey를 사용하는 경우:

brew install mariadb
...
brew services start mariadb
==> Successfully started `mariadb` (label: homebrew.mxcl.mariadb)

 $(brew --prefix mariadb)/bin/mysqladmin -u root password newpass
/usr/local/opt/mariadb/bin/mysqladmin: connect to server at 'localhost' failed
error: 'Access denied for user 'root'@'localhost''

root 계정을 사용한 로그인도 실패합니다.

mariadb -u root
ERROR 1698 (28000): Access denied for user 'root'@'localhost'

기본 관리자 사용자는 MacOS 계정 사용자 이름과 동일한 이름(: jonsmit)이 생성됩니다.

root로 로그인하여 root 비밀번호를 설정하려면 다음 명령을 발행합니다(사용자 이름 사용).

mariadb -u johnsmit
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 17
Server version: 10.4.11-MariaDB Homebrew

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

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

MariaDB [(none)]> ALTER USER 'root'@'localhost' IDENTIFIED BY 'ROOT-PASSWORD';
Query OK, 0 rows affected (0.006 sec)
MariaDB [(none)]> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.002 sec)
MariaDB [(none)]> exit
Bye

따라서 localhost의 mysql에서 root 비밀번호를 변경합니다.

보너스:하려면 다음과 같이 사용할 수 .mysqladmin★★★★★★★★★★★★★★★★★★:

$(brew --prefix mariadb)/bin/mysqladmin -u arunas password 'newsecret'

그러나 이것은 어떤 이유로든 localhost에는 영향을 주지 않지만 앱 로그인에 대해서는 작동해야 합니다.

또는 사용자의 'localhost' 계정에서 호스트를 명시적으로 지정하는 네이티브 MySQL 변경 사용자 암호 SQL을 사용합니다.

mariadb -u arunas
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 11
Server version: 10.5.9-MariaDB Homebrew

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

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

MariaDB [(none)]> ALTER USER 'arunas'@'localhost' IDENTIFIED BY 'newsecret';
Query OK, 0 rows affected (0.006 sec)

MariaDB [(none)]> exit
Bye

이제 패스워드를 사용하지 않고 로그인해 보겠습니다.

mariadb -u arunas
ERROR 1045 (28000): Access denied for user 'arunas'@'localhost' (using password: NO)

로그인에 실패했기 때문에 패스워드의 필요성을 지정해야 합니다.

mariadb -u arunas -p
Enter password: 
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 13
Server version: 10.5.9-MariaDB Homebrew

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

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

MariaDB [(none)]> exit
Bye

좋은 사용법!

이 방법은 효과가 있었습니다.

sudo mysql -u root

질문/답변은 오래전에 했기 때문에, 그러한 상위 답변은 나에게 효과가 없습니다.이게 2020년 제 해결책입니다.

배경:홈브루에 의해 설치된 신선한 mysql/mariadb.

문제:root 암호가 비어 있지 않고 알 수 없습니다.

해결 방법:

  1. mysql - u YOUR-SYSTEM-USERNAME -p
  2. 암호가 비어 있습니다(Enter 키를 누르십시오).
  3. 'NEW-ROOT-PASSWORD'로 식별되는 사용자 'root'@'localhost'를 변경합니다.
  4. 플래시 특권

이유:

  1. Homebrew는 현재 MacOS 사용자 이름으로 명명된 루트 권한을 가진 사용자를 만듭니다.
  2. 비밀번호가 없습니다.
  3. 모든 권한이 있기 때문에 해당 사용자와 함께 루트 비밀번호를 리셋합니다.
  4. root의 초기 비밀번호가 랜덤으로 생성되었습니다.

써보세요.sudo denied" "Access denied"는 과 같습니다.

sudo $(brew --prefix mariadb)/bin/mysqladmin -u root password NEWPASS

  1. 애플 아이콘 --> 시스템 기본 설정으로 이동합니다.
  2. Mysql 열기
  3. 인스턴스에는 "데이터베이스 초기화"가 표시됩니다.
  4. 그것을 클릭하다
  5. root의 패스워드를 설정하도록 요구됩니다.--> 거기에 강력한 패스워드를 설정합니다.
  6. 다음부터는 그 비밀번호를 사용하여 mysql에 로그인한다.

이게 도움이 됐으면 좋겠다.

macOS를 사용하고 Homebrew를 통해 MariaDB를 설치하는 경우 OS root 비밀번호를 사용하여 원하는 비밀번호로 재설정할 수 있습니다. 이 경우 root 비밀번호를 삭제했습니다.

sudo mysqladmin -u root password ''

또는 암호를 설정하려면 암호를 따옴표로 묶어서 입력할 수 있습니다.

sudo mysqladmin -u root password 'NEW-PASSWORD-HERE'

Mac에서 새로 설치할 때 이 문제가 발생했습니다.MariaDB를 다음과 같이 설치했습니다.

brew install mariadb 

그런 다음 서비스를 시작합니다.

brew services start mariadb

mysql_secure_installation'이 루트 비밀번호를 입력하도록 요구되어 실행할 수 없었습니다.그 후, 인스톨 출력으로 다음과 같은 것을 알 수 있었습니다.

mysql_install_db --verbose --user=jonny --basedir=/usr/local/Cellar/ ....

그래서 mysql_install_db 출력에 지정된 사용자 이름으로 로그인해 봤더니 성공했습니다.

mysql -u jonny

다음으로 루트 사용자의 비밀번호를 설정하는 경우 mysql 프롬프트에서 다음 절차를 수행합니다.

SET PASSWORD FOR 'root'@'localhost' = PASSWORD('ToPsEcReT');

여기서 대부분의 답변에 공통적인 것을 발견하여 새로 설치했음을 확인했습니다.알 수 요.mysqladmin -u root 없이-p.

비밀번호가 없습니다.

Brew는 패스워드를 사용하지 않고 루트 사용자만 사용하여 mysql을 설정합니다.일리가 있다고 생각합니다만, 인스톨 후의 경고에는 전혀 언급되어 있지 않습니다.

MAC https://flipdazed.github.io/blog/osx%20maintenance/set-up-mysql-osx 에서는 이 방법이 도움이 되었습니다.

실행으로 mysql 시작

brew services start mysql

설치 스크립트 실행

mysql_secure_installation

VALIDE PASSWORD 플러그인을 설정하라는 메시지가 표시됩니다.이를 수행하려면 y를 입력합니다.

필요한 패스워드 검증을 선택합니다(데이터베이스만 사용해도 상관없습니다).

이제 나머지 모든 옵션에 대해 y를 선택합니다.anon을 제거합니다.사용자, 리모트루트 로그인 금지, 테스트 데이터베이스 삭제, 권한 테이블 새로고침.이제 다음 메시지가 수신됩니다.

All done!

이건 나한테 효과가 있었어.당신도 이게 잘 됐으면 좋겠어요!!!그들을 따라가세요.

brew services stop mysql
pkill mysqld
# NB: the following command will REMOVE all your databases!
# Make sure you have backups or SQL dumps if you have important data in them already.
rm -rf /usr/local/var/mysql/
brew services restart mysql

mysql -uroot
UPDATE mysql.user SET authentication_string=null WHERE User='root';
FLUSH PRIVILEGES;
exit;

mysql -u root 
ALTER USER 'root'@'localhost' IDENTIFIED WITH caching_sha2_password 
BY'YOUR_PASS_WORD!!!!';

터미널에서 이러한 회선을 운행하는 것은 저와 같은 문제를 겪고 있는 다른 몇몇 사람들에게 효과가 있었습니다.이러한 순서는 brew 설치 후 mysql을 정상적으로 설치한 후 터미널에 나열됩니다.

mkdir -p ~/Library/LaunchAgents

cp /usr/local/Cellar/mysql/5.5.25a/homebrew.mxcl.mysql.plist ~/Library/LaunchAgents/

launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist

/usr/local/Cellar/mysql/5.5.25a/bin/mysqladmin -u root password 'YOURPASSWORD'

서 ''는YOURPASSWORD뿌리가 되다

홈에 .my.cnf가 숨겨져 있지 않은지 확인합니다.그건 내 문제였어.

brew를 통해 mysql을 설치할 때 기본 비밀번호는 root입니다.이 비밀번호는 저에게 효과가 있었습니다.

mysql -uroot -proot

누군가 나와 같은 상황이나 구성을 가지고 있고 미쳐버릴 것 같은 경우, 이 방법은 나에게 효과가 있었습니다.

긴 이야기 끝에 저는 brew가 설치된 MariaDB를 가지고 있었습니다.그것은 brew의 프로세스(이것은 brew의 작업)를 종료했을 때, 자동적으로 재기동하는 것으로, 루트 패스워드를 가지고 있었습니다만, 그 패스워드도 몰랐습니다.

$ brew services list

예를 들어 다음과 같습니다.

mariadb started jdoe /path/to/homebrew.mxcl.mariadb.plist

다음 방법으로 MySQL 서버를 중지합니다.

$ brew services stop mariadb

그런 다음 루트 사용자 없이 다시 시작합니다(brew를 사용하지 않음).

$ mariadbd --skip-grant-tables &

여기서,mysql_secure_installation그 때문에 나에게 효과가 없었다.--skip-grant-tables, 이 기능은, 이 기능이 없으면 동작하지 않습니다.--skip-grant-tables패스워드가 필요했기 때문입니다(비밀번호는 없었습니다).
괴로운$(brew --prefix mysql)/bin/mysqladmin -u root password hunter2이상한 오류만 반환하고 아무것도 하지 않았다.$(brew --prefix mariadb)/bin/mysqladmin -u root password hunter2다른 에러, 그리고 나에게도 맞지 않는 제안도 있었다.

그러나 자격 증명 없이 mysql에 로그인할 수 있습니다.$ mysql

여기서 "열 '비밀번호'는 업데이트할 수 없기 때문에 이전 루트 사용자 테이블 업데이트 방법은 작동하지 않습니다.
새로운 방법에서는alter user단, 실행한 후에만 동작합니다.flush privileges;그러니까 그거부터 하세요.
그 후, 다음과 같이 입력합니다.
MariaDB [(none)]> alter user 'root'@'localhost' identified by 'hunter2';
(MariaDB [(none)]>MySQL 프롬프트는 여기에 있습니다.)
그럼 하세요flush privileges;다시.
MySQL 클라이언트를 종료합니다.

brew에 관한 한 MariaDB는 아직 실행 중이 아니기 때문에$ ps aux | grep -i mariadbpid를 찾아서$ kill -9 <pid>바로 그거에요.
그 후 사용$ brew services start mariadb다시 시작할 수 있습니다.

이것도 우연히 발견했는데, 아이러니하게도 간단하게 실행할 수 있는 솔루션이 있었습니다.

mysql

터미널 1:

$ mysql_safe

터미널 2:

$ mysql -u root
mysql> UPDATE mysql.user SET Password=PASSWORD('new-password') WHERE User='root';
mysql> FLUSH PRIVILEGES;
mysql> quit

저는 Catalina를 사용하고 있으며 다음 명령을 사용하고 있습니다.

$ mysql_secure_installation
NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
      SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!

In order to log into MariaDB to secure it, we'll need the current
password for the root user. If you've just installed MariaDB, and
haven't set the root password yet, you should just press enter here.

Enter current password for root (enter for none): << enter root here >>

현재 비밀번호로 입력합니다.

OK, successfully used password, moving on...

Setting the root password or using the unix_socket ensures that nobody
can log into the MariaDB root user without the proper authorisation.

그리고 나머지는

저에게 mysql은 패스워드가 없는 루트 사용자로 설정되었습니다.현재 사용자로 로그인 할 수 있도록 하고 싶었고,-u root다음 명령을 사용하여 슈퍼 사용자를 설정했습니다.

mysql -u root -e "CREATE USER '$USER'@'localhost';"
mysql -u root -e "GRANT ALL PRIVILEGES ON *.* TO '$USER'@'localhost';"
mysql -u root -e "flush privileges;"

임의의 값$USER효과가 있습니다.저는 개인적으로 위의 모든 것을 세미콜론으로 연결했지만 모두가 읽기 쉽도록 다시 포맷했습니다.

@Roman Escart의 기사를 팔로우.열쇠는 '$http link --force mysql@5.7' https://medium.com/macoclock/setup-mysql-in-a-specific-version-on-macos-35d8ad89c699 를 사용하는 것입니다.

init 파일을 사용하여 mysql을 시작하여 루트 비밀번호를 변경합니다.

brew services stop mysql
pkill mysqld
echo "ALTER USER 'root'@'localhost' IDENTIFIED BY 'newRootPass';" > /tmp/mysql-init
$(brew --prefix mysql)/bin/mysqld --init-file=/tmp/mysql-init

루트 비밀번호가 변경되었습니다.비밀번호 변경을 저장하려면 서버를 올바르게 종료해야 합니다.새 터미널 창에서 실행

mysqladmin -u root -p shutdown

새 패스를 입력합니다.

서비스를 시작하고 init 파일을 삭제합니다.

brew services start mysql
rm /tmp/mysql-init

mysql 버전 8.0.19에서 테스트 완료

Mac에서 Mysql을 실행하는 가장 쉬운 방법은 무엇입니까?

저의 솔루션은 MAMP를 설치하는 것이었습니다.

https://www.mamp.info/en/mac/

언급URL : https://stackoverflow.com/questions/9695362/macosx-homebrew-mysql-root-password

반응형