맥 OS에 brew install mysql


344

Homebrew by를 사용하여 macOS 10.6에서 MySQL을 설정하려고합니다 brew install mysql 5.1.52.

모든 것이 잘되고 나는 또한 성공합니다 mysql_install_db.
그러나 다음을 사용하여 서버에 연결하려고 할 때 :

/usr/local/Cellar/mysql/5.1.52/bin/mysqladmin -u root password 'mypass'

나는 얻다:

/usr/local/Cellar/mysql/5.1.52/bin/mysqladmin : 'localhost'의 서버에 연결 
실패 오류 : '사용자'root '@'localhost '에 대한 액세스가 거부되었습니다 (비밀번호 사용 : NO)'

나는 액세스를 시도했습니다 mysqladmin or mysql using -u root -proot뿐만 아니라,
하지만 비밀번호 또는 작동하지 않습니다.

이것은 새로운 컴퓨터에 새로 설치 한 것이며 루트 암호 없이도 새 설치에 액세스 할 수 있다는 것을 알고 있습니다. 나는 또한 시도했다 :

/usr/local/Cellar/mysql/5.1.52/bin/mysql_secure_installation

그러나 나는 또한 얻는다

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


참조 : apple.stackexchange.com/a/199747/152271이 ... 그것은 설치 BREW하지,하지만 여기에 답변을 아무도하지 않았다 때 그것은 나를 위해 일한
sudo는 RF RM은 슬래시

1
FWIW 내가 사용 mysql -u root하고 여기에서 일했습니다 : |
rogerdpack

답변:


684

이전 버전의 mysql이 이미 설치되어 있으면이 위치에 올 수 있다고 생각합니다. 나는 같은 문제가 있었고 위의 해결책 중 어느 것도 나를 위해 일하지 않았다. 나는 그렇게 고쳤다 :

brew 's remove& cleanup명령을 사용 하고 launchctl스크립트를 언로드 한 다음에서 mysql 디렉토리를 /usr/local/var삭제하고 기존 디렉토리를 삭제하고 /etc/my.cnf(적용되는 경우 그대로 두십시오) launchctl plist

plist의 문자열을 업데이트했습니다. 대체 보안 스크립트 디렉토리는 설치중인 MySQL 버전을 기반으로합니다.

단계별 :

brew remove mysql

brew cleanup

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

rm ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist

sudo rm -rf /usr/local/var/mysql

그런 다음 처음부터 시작했습니다.

  1. mysql을 설치 brew install mysql
  2. brew가 제안한 명령을 실행했습니다. (참고 : 아래 참조)

    unset TMPDIR
    
    mysql_install_db --verbose --user=`whoami` --basedir="$(brew --prefix mysql)" --datadir=/usr/local/var/mysql --tmpdir=/tmp
  3. mysql.server start로그온 할 수 있도록 명령으로 mysql을 시작하십시오.

  4. 대체 보안 스크립트를 사용했습니다.

    /usr/local/Cellar/mysql/5.5.10/bin/mysql_secure_installation
  5. 이어 launchctl, 같은 양조 패키지 스크립트 출력에서 섹션을

    #start
    launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
    
    #stop
    launchctl unload -w ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist

참고 :--force 에 비트 brew cleanup의지도 정리 오래된 통에, 그것은 새로운 틱 사제의 기능을 생각합니다.

두 번째 참고 사항 : 의견 자는 2 단계가 필요하지 않다고 말합니다. 나는 그것을 테스트하고 싶지 않으므로 YMMV!


30
좋은 답변, 감사합니다! 한 가지 추가해야 할 점 : 답변에 언급되어 있지만 놓쳤으며 Lion OSX에서 설정을 시도하는 데 약 6 시간이 걸렸습니다. 재설치하기 전에 이전 버전의 MySql이있는 경우 / usr / local / var / mysql에서 이전 mysql 디렉토리를 삭제하십시오. 그렇지 않으면 처음에 root로 로그인하여 암호를 설정할 수 없으며 컴퓨터에서 많은 시간을 할애하게됩니다.
tronbabylove

3
~ / Library / LaunchAgents로 이동하여 mysql의 .plist 파일이 실제로 어떤 파일인지 확인하십시오. 필자의 경우 homebrew에 의해 설치되었으므로 위의 제거 절차를 수정해야합니다.
Marco

7
이 스레드가 오래되었으므로 위의 "launchctl unload"행이 잘못되었습니다. homebrew 설치 파일은 더 이상 "com.mysql.mysqld.plist"가 아니라 "homebrew.mxcl.mysql.plist"입니다. 줄은 이제 "launchctl unload -w ~ / Library / LaunchAgents / homebrew.mxcl.mysql.plist"
Tommy

4
[~ / Library / LaunchAgents] $ ls com.adobe.ARM.202f4087f2bbde52e3ac2df389f53a4f123223c9cc56a8fd83a6f7ae.plist com.mysql.mysqld.plist com.facebook.videochat.ava.plist ~ \ libLibr.postcl.post 아래에있는 l.com.adobe.ARM.202f4087f2bbde52e3ac2df389f53a4f123223c9cc56a8fd83a6f7ae.plist / LaunchAgents` 있지만 하역 제공launchctl: Couldn't stat("com.mysql.mysqld.plist"): No such file or directory
에바

9
mysql_install_db는 이제 생략 될 수 있습니다. brew는 올바른 directoy에 서버를 자동으로 만듭니다.
rfreytag

52

다음은 Mac에서 모든 MySQL을 제거하고 Sedorner가 위에서 작성한 것처럼 Brew Way를 설치하는 자세한 지침입니다.

The Tech Lab에 따라 MySQL을 완전히 제거하십시오

  • ps -ax | grep mysql
  • 중지 및 kill모든 MySQL 프로세스
  • sudo rm /usr/local/mysql
  • sudo rm -rf /usr/local/var/mysql
  • sudo rm -rf /usr/local/mysql*
  • sudo rm ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
  • sudo rm -rf /Library/StartupItems/MySQLCOM
  • sudo rm -rf /Library/PreferencePanes/My*
  • launchctl unload -w ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
  • /etc/hostconfig선 편집 및 제거MYSQLCOM=-YES-
  • rm -rf ~/Library/PreferencePanes/My*
  • sudo rm -rf /Library/Receipts/mysql*
  • sudo rm -rf /Library/Receipts/MySQL*
  • sudo rm -rf /private/var/db/receipts/*mysql*
  • sudo rm -rf /tmp/mysql*
  • 실행하려고하면 작동 mysql하지 않아야합니다.

StackOverflow 답변 에서 사용자 당 MySQL 설치 브루어 설치

  • brew doctor 오류를 수정하십시오
  • brew remove mysql
  • brew cleanup
  • brew update
  • brew install mysql
  • unset TMPDIR

    mysql_install_db --verbose --user=`whoami` --basedir="$(brew --prefix mysql)" --datadir=/usr/local/var/mysql --tmpdir=/tmp # whoami is executed inline
  • mysql.server start

  • Brew가 제안하는 명령을 실행하고 MySQL을 추가 launchctl하여 시작시 자동으로 시작되도록하십시오.

mysql 예상대로 작동하고 항상 작동해야합니다.

Godspeed.


3
또한 /tmp/mysql.sock을 먼저 제거하지 않고 위의 모든 작업을 수행하여 물었습니다.
TKH

고마워요, +1 몇 가지 의견 : 당신이 말한 sudo rm ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist다음 몇 단계 후에 launchctl unload그 파일 을 시도 하지만 ... 삭제했기 때문에 거기에 없을 것입니다. 또한 나를 brew install mysql위해 mysql_install_db발걸음을 내딛었으므로 두 번 할 필요가 없습니다.
Madbreaks

@CorySimmons 이것은 내 이름을 사용하거나 명령 rootwhoami일부로 사용해야한다는 것을 의미 합니까?
YPCrumble

1
확인 됨-whoami는 내 이름입니다 (사용했습니다 root). 이것은 훌륭하게 작동했습니다.
YPCrumble

/etc/hostconfig요세미티와 (이상 존재하지 않는 superuser.com/questions/850974/... )
ecbrodie

44

같은 문제가 있었다. 설정 지침 또는 생성중인 초기 테이블에 문제가있는 것 같습니다. 이것이 내 컴퓨터에서 mysqld를 실행하는 방법입니다.

mysqld 서버가 이미 Mac에서 실행중인 경우 먼저 다음을 사용하여 중지하십시오.

launchctl unload -w ~/Library/LaunchAgents/com.mysql.mysqld.plist

다음 명령을 사용하여 mysqld 서버를 시작하십시오. 그러면 모든 사람이 모든 권한으로 로그인 할 수 있습니다.

mysqld_safe --skip-grant-tables

그런 다음 mysql -u root비밀번호없이 성공적으로 로그인 할 수 있도록 실행하십시오 . 다음 명령은 모든 루트 비밀번호를 재설정해야합니다.

UPDATE mysql.user SET Password=PASSWORD('NewPassword') WHERE User='root'; FLUSH PRIVILEGES;

이제 mysqld_safe의 실행중인 복사본을 종료하고 skip-grant-tables 옵션없이 다시 시작 mysql -u root -p하면 방금 로그인 한 새 암호 와 로그인 할 수 있어야합니다 .


이것은 나를 위해 일했다! 나는 이것을 시도하기 전에 암호를 추측하기 시작했고 암호는 'password'였습니다. 그래서 시도하십시오.
cointilt

그랜트 테이블없이 mysqld_safe를 시작하면 나에게 도움이되었습니다. 그러나 select * from mysql.user에 대한 레코드가 없기 때문에 업데이트가 작동하지 않았습니다. 이미 루트로 로그인 했으므로 GRANT ALL PRIVILEGES ON을 실행하여 루트에 대한 루트를 간단히 삽입 할 수 있습니다 . '어떻게'에 의해 식별 된 'root'@ 'localhost'; 홍당무;
루퍼트

중지 서비스 / 스크립트를 사용하고 있었고 계속 다시 시작했습니다. LaunchAgent를 언로드하지 않았기 때문입니까? (doh)
재생시

1
나를 위해 일하는 것은 당신이 만든 것과 비슷한 것입니다. 사용자의 비밀번호를 업데이트 한 부분에서 다음을 수행해야합니다. use mysql; 사용자 세트 업데이트 update_string = password ( '1111') 여기서 user = 'root'; 에서 : stackoverflow.com/a/31122246/1328261
ruhanbidart

16

brew가 MySQL 5.7을 설치 한 경우 프로세스는 이전 버전과 약간 다릅니다. 루트 비밀번호를 재설정하려면 다음과 같이 진행하십시오.

sudo rm -rf /usr/local/var/mysql
mysqld --initialize

임시 비밀번호는 콘솔에 인쇄되며 루트 비밀번호를 업데이트하는 데만 사용할 수 있습니다.

mysql.server start
echo "ALTER USER 'root'@'localhost' IDENTIFIED BY 'my-new-password';" | mysql -uroot --password=TEMPORARY_PASSWORD

2
임시 암호가 생성 된 것을 볼 수 있지만 mysql을 실행하려고하면 다음 ERROR! The server quit without updating PID file (/usr/local/var/mysql/XXXXX.local.pid).이 표시됩니다 .mysql -u root를 수행하면 암호가 허용되지 않습니다.
forloop

1
dmg 설치 프로그램 을 사용하여 mysql 5.7.9를 성공적으로 설치 했는데 임시 비밀번호를 생성하라는 창이 나타납니다. 그리고 지금 mysql제대로 작동합니다. 너무 안타깝게도 새로운 Macbook에서 작업하기 위해 많은 시간을 소비해야했습니다. : |
forloop

1
@forloop 1. ps -ef | grep mysql 2. kill -9 pid 3. mysql.server start
oshaiken

나를 위해 위의 암호 재설정 / 변경이 작동하지 않았습니다. 임시 비밀번호를 사용하여 mysql에 로그인 한 다음 alter command 1을 실행해야했습니다 mysql -u root -p <temp-password> .ALTER USER 'root'@'localhost' IDENTIFIED BY 'New-Password';
테스트 테스트

8

좋아, 같은 문제가 있고 해결했다. 어떤 이유로 Homebrew를 사용하여 mysql을 설치할 때 mysql_secure_installation 스크립트가 즉시 작동하지 않으므로 수동으로 수행했습니다. CLI에서 다음을 입력하십시오 .

mysql -u root

그것은 당신을 mysql로 ​​데려다 줄 것이다. 이제 다음을 수행하십시오 (mysql_secure_installation에서 가져옴).

UPDATE mysql.user SET Password=PASSWORD('your_new_pass') WHERE User='root';
DELETE FROM mysql.user WHERE User='root' AND Host NOT IN ('localhost', '127.0.0.1', '::1');
DELETE FROM mysql.user WHERE User='';
DELETE FROM mysql.db WHERE Db='test' OR Db='test\\_%'
DROP DATABASE test;
FLUSH PRIVILEGES;

이제 다음을 사용하여 mysql로 ​​돌아가십시오. mysql -u root -p


1
mysql -u root가 나를 mysql 프롬프트로 이동시키지 않기 때문에이 솔루션이 작동하지 않습니다. 사용자 'root'@ 'localhost'에 대한 액세스가 거부되었습니다 (암호 사용 : NO)
Nick Vanderbilt

해당 머신에 MySQL을 이전에 설치 했습니까?
Darren Newton

8

나는 지금 같은 문제가 있었다. 당신 brew info mysql이 단계를 따르면 루트 암호는 new-password내가 올바르게 기억 하는 것처럼 보입니다 . 당신이보고있는 것과 똑같은 것을보고있었습니다. 이 기사 가 가장 도움 되었습니다.

내가하지 않았다 밝혀졌다 어느 날 위해 만든 계정을. 실행 후 로그인했는데 행이 반환되지 mysqld_safe않았습니다 select * from user;. 나는 mysqld_safe달리기로 MySQLWorkbench를 열고 root내가 기대했던 모든 privs를 가진 계정을 추가했다 . 이것은 지금 나를 위해 잘 작동합니다.


7

mysql이 이미 설치된 경우

mysql을 완전히 중지하십시오.

  1. mysql.server stop <-버전에 따라 편집이 필요할 수 있습니다
  2. ps -ef | grep mysql <-이름에 mysql이있는 프로세스를 나열합니다.
  3. kill [PID] <-PID로 프로세스 종료

파일을 제거하십시오. 위의 지침이 좋습니다. 나는 추가 할 것이다 :

  1. sudo find /. -name "*mysql*"
  2. 당신의 판단을 사용하여 rm -rf 파일들. 많은 프로그램에는 제거하고 싶지 않은 mysql 용 드라이버가 있습니다. 예를 들어, PHP 설치 디렉토리에서 내용을 삭제하지 마십시오. 자체 mysql 디렉토리에서 항목을 제거하십시오.

설치

잘만되면 당신은 homebrew를 가지고있다. 그렇지 않은 경우 다운로드하십시오.

나는 brew를 루트로 실행하는 것을 좋아하지만 당신이 할 필요는 없다고 생각합니다. 2018 편집 : 더 이상 루트로 양조를 실행할 수 없습니다

  1. sudo brew update
  2. sudo brew install cmake <-mysql에 대한 의존성, 유용한
  3. sudo brew install openssl <-mysql에 대한 의존성, 유용한
  4. sudo brew info mysql <-이걸로 훑어 보면 ... 다음에 무슨 일이 일어날 지 알 수 있습니다
  5. sudo brew install mysql --with-embedded; say done<-임베디드 서버와 함께 mysql을 설치합니다. 완료되면 알려줍니다 (설치에 10 분이 걸렸습니다)

나중에

  1. sudo chown -R mysql /usr/local/var/mysql/ <-이 명령을 실행할 때까지 mysql이 작동하지 않습니다.
  2. sudo mysql.server start <-다시 한 번 정확한 구문은 다를 수 있습니다
  3. mysql에서 사용자를 작성하십시오 ( http://dev.mysql.com/doc/refman/5.7/en/create-user.html ). 루트 사용자의 비밀번호를 추가해야합니다.

3

brew info mysql

mysql: stable 5.6.12 (bottled)
http://dev.mysql.com/doc/refman/5.6/en/
Conflicts with: mariadb, mysql-cluster, percona-server
/usr/local/Cellar/mysql/5.6.12 (9363 files, 353M) *
  Poured from bottle
From: https://github.com/mxcl/homebrew/commits/master/Library/Formula/mysql.rb
==> Dependencies
Build: cmake
==> Options
--enable-debug
    Build with debug support
--enable-local-infile
    Build with local infile loading support
--enable-memcached
    Enable innodb-memcached support
--universal
    Build a universal binary
--with-archive-storage-engine
    Compile with the ARCHIVE storage engine enabled
--with-blackhole-storage-engine
    Compile with the BLACKHOLE storage engine enabled
--with-embedded
    Build the embedded server
--with-libedit
    Compile with editline wrapper instead of readline
--with-tests
    Build with unit tests
==> Caveats
A "/etc/my.cnf" from another install may interfere with a Homebrew-built
server starting up correctly.

To connect:
    mysql -uroot

To reload mysql after an upgrade:
    launchctl unload ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
    launchctl load ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist

mysql.service 시작

. ERROR! The server quit without updating PID file (/var/run/mysqld/mysqld.pid).

또는 mysql -u 루트

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)

한동안 해결책을 찾고 있는데 문제를 해결할 수 없습니다. stackoverflow.com에서 여러 가지 솔루션을 시도했지만 이것이 도움이되지 않습니다.


4
루트 사용자로 sudo chown -R mysql /usr/local/var/mysql/실행중인 mysql.server start경우 실행 하기 전에 실행 해보 mysql.server십시오 (루트 사용자 사용을 시작할 때 MySQL 서버는 _mysql사용자로 다운 그레이드 ).
Rarylson Freitas

이 문제에 대한 해결책을 찾았습니까?
KcC0

omg, 질문의 brew install redis
양과이

3

TL; DR

Brew로 설치 한 후 MySQL 서버가 실행되지 않을 수 있습니다. 시도 brew services start mysql하거나 그냥mysql.server startMySQL을 백그라운드 서비스로 실행하지 않으려는 경우 .

전체 이야기 :

Sierra를 실행하는 새로운 MacBook Pro에 MySQL (stable) 5.7.17을 설치하고 실행할 때 오류가 발생했습니다 mysql_secure_installation.

Securing the MySQL server deployment.

Enter password for user root: 
Error: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)

뭐라고?

Brew의 설치 정보에 따르면 설치 mysql_secure_installation를 보호하라는 메시지가 표시됩니다. MySQL 서버가 실행되고 있지 않을 수도 있다고 생각했습니다. 실행 brew services start mysqlmysql_secure_installation마법처럼 일했다.


1

권한 부여 mysql 명령을 부여하여 시도하십시오.


문제는 brew로 설치 후 mysql 서버에 전혀 액세스 할 수 없다는 것입니다. 시작할 수는 있지만 비밀번호를 사용하거나 사용하지 않고 루트로 로그인 할 수는 없습니다. (따라서 다른 사용자를 만들거나 권한을 관리 할 수 ​​없습니다. 또는 귀하를 제대로 이해하지
못했

1

최신 버전의 mysql 및 yosemite와 함께 brew를 사용할 때 위의 답변 (또는 다른 곳에서 본 수십 개의 답변) 중 어느 것도 나를 위해 일하지 않았습니다. brew를 통해 다른 mysql 버전을 설치했습니다.

다음과 같이 말하여 이전 버전 지정

brew install mysql56

나를 위해 일했다. 이것이 누군가를 돕기를 바랍니다. 이것은 내가 영원히 갇힌 것처럼 느껴지는 좌절스러운 문제였습니다.


예,이 방법은 작동하지만 MySQL 5.7을 설치하려면 (현재와 같이 brew install mysql) 내 답변 stackoverflow.com/a/33924648/133106
mrucci

1

다음은 MySQL 5.7 업데이트입니다.

bash-버전
GNU bash, 버전 4.4.12 (1)-릴리스 (x86_64-apple-darwin17.0.0)
저작권 (C) 2016 자유 소프트웨어 재단, Inc.
라이센스 GPLv3 + : GNU GPL 버전 3 이상 

이것은 무료 소프트웨어입니다. 귀하는 자유롭게 변경하고 재배포 할 수 있습니다.
법률이 허용하는 한 보증은 없습니다.

# =========================================
brew --version
사제 1.7.6
Homebrew / homebrew-core (git 개정 eeb08; 마지막 커밋 2018-09-27)
Homebrew / homebrew-cask (git 개정 c9f62; 마지막 커밋 2018-09-27)

# =========================================
mysql-버전
EditLine 래퍼를 사용하는 osx10.13 (x86_64) 용 mysql Ver 14.14 Distrib 5.7.23

# =========================================
system_profiler SPSoftwareDataType
소프트웨어:

    시스템 소프트웨어 개요 :

      시스템 버전 : macOS 10.13.3 (17D47)
      커널 버전 : Darwin 17.4.0
      부팅 볼륨 : Macintosh HD
      부팅 모드 : 정상
      컴퓨터 이름 : EdisonMacHomeBj
      사용자 이름 : Edison (edison)
      보안 가상 메모리 : 사용
      시스템 무결성 보호 : 비활성화
      부팅 이후 시간 : 6 일 23:13
brew 제거 mysql@5.7
양조 정리
mv / usr / local / var / mysql /usr/local/var/mysql.bak
brew install mysql@5.7
rm -rf / usr / local / var / mysql

# =========================================
mysqld-초기화
2018-09-28T04 : 54 : 06.526061Z 0 [경고] 암시 적 DEFAULT 값을 가진 TIMESTAMP는 더 이상 사용되지 않습니다. --explicit_defaults_for_timestamp 서버 옵션을 사용하십시오 (자세한 내용은 설명서 참조).
2018-09-28T04 : 54 : 06.542625Z 0 [경고] / usr / local / var / mysql /의 파일 시스템은 대소 문자를 구분하지 않으므로 lower_case_table_names = 2 설정
2018-09-28T04 : 54 : 07.096637Z 0 [경고] InnoDB : 새 로그 파일 생성, LSN = 45790
2018-09-28T04 : 54 : 07.132950Z 0 [경고] InnoDB : 외래 키 제약 조건 시스템 테이블 생성.
2018-09-28T04 : 54 : 07.196824Z 0 [경고] 기존 UUID를 찾을 수 없으므로이 서버가 처음 시작된 것으로 가정합니다. 새 UUID 생성 : 87cf2f10-c2da-11e8-ac2d-ba163df10130
2018-09-28T04 : 54 : 07.224871Z 0 [경고] Gtid 테이블을 사용할 수 없습니다. 'mysql.gtid_executed'테이블을 열 수 없습니다.
2018-09-28T04 : 54 : 07.366688Z 0 [경고] CA 인증서 ca.pem은 자체 서명되었습니다.
2018-09-28T04 : 54 : 07.457954Z 1 [참고] root @ localhost에 대한 임시 비밀번호가 생성되었습니다. kq3K = JR8; GqZ

# =========================================
mysql_secure_installation -uroot -p "kq3K = JR8; GqZ"
mysql_secure_installation : [경고] 명령 행 인터페이스에서 비밀번호를 사용하면 안전하지 않을 수 있습니다.

MySQL 서버 배포 보안


사용자 계정 루트의 기존 비밀번호가 만료되었습니다. 새 비밀번호를 설정하십시오.

새 비밀번호:

새 비밀번호를 다시 입력하십시오 :

VALIDATE PASSWORD PLUGIN을 사용하여 비밀번호를 테스트 할 수 있습니다
보안을 향상시킵니다. 비밀번호의 강도를 확인합니다
사용자는 다음과 같은 비밀번호 만 설정할 수 있습니다.
충분히 확보하십시오. VALIDATE PASSWORD 플러그인을 설정 하시겠습니까?

예이면 y | Y를 누르고, 아니오이면 다른 키를 누르십시오 : n
루트에 기존 비밀번호 사용
root의 비밀번호를 변경 하시겠습니까? ((예 : y | Y, 예 : 다른 키) : y

새 비밀번호:

새 비밀번호를 다시 입력하십시오 :
기본적으로 MySQL 설치에는 익명 사용자가 있습니다.
누구나 MySQL에 로그인 할 필요없이
그들을 위해 만들어진 사용자 계정. 이것은 오직
테스트하고 설치를 좀 더 순조롭게 진행합니다.
프로덕션으로 이동하기 전에 제거해야합니다
환경.

익명 사용자를 제거 하시겠습니까? (예 : y | Y, 아니오 : 다른 키) : y
성공.


일반적으로 루트는 오직
'localhost'. 이것은 누군가가 추측 할 수 없도록합니다
네트워크의 루트 비밀번호

원격으로 루트 로그인을 허용하지 않습니까? (예 : y | Y, 아니오 : 다른 키) : n

 ... 건너 뛰는 중입니다.
기본적으로 MySQL에는 'test'라는 데이터베이스가 제공됩니다.
누구나 액세스 할 수 있습니다. 이것은 또한 테스트 목적으로 만 사용됩니다.
프로덕션으로 이동하기 전에 제거해야합니다
환경.


테스트 데이터베이스를 제거하고 액세스 하시겠습니까? (예 : y | Y, 아니오 : 다른 키) : n

 ... 건너 뛰는 중입니다.
권한 테이블을 다시로드하면 모든 변경 사항이 적용됩니다.
지금까지 만든 내용은 즉시 적용됩니다.

지금 권한 테이블을 다시로드 하시겠습니까? (예 : y | Y, 아니오 : 다른 키) : y
성공.

다 했어요!

"mysql.bak"에서 모든 데이터베이스를 복사 할 때 작동하지 않습니다 :(
Jahirul Islam Mamun

1

이전 답변에 무언가 추가하기-MySql 5.6에서 MySql 8.0으로 업그레이드 할 때 여기에 제공된 단계에 따라 완전히 제거하고 오류가 발생했습니다.

2019-11-05T07:57:31.359304Z 0 [ERROR] [MY-000077] [Server] /usr/local/Cellar/mysql/8.0.18/bin/mysqld: Error while setting value 'ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION' to 'sql_mode'.
2019-11-05T07:57:31.359330Z 0 [ERROR] [MY-013236] [Server] The designated data directory /usr/local/var/mysql is unusable. You can remove all files that the server added to it.
2019-11-05T07:57:31.359413Z 0 [ERROR] [MY-010119] [Server] Aborting
2019-11-05T07:57:31.359514Z 0 [Note] [MY-010120] [Server] Binlog end

알아낼 시간이 좀 걸렸습니다. 단서를 찾았습니다 : https://discourse.brew.sh/t/clean-removal-of-mysql/2251

따라서 내 문제의 열쇠는 제거/usr/local/etc/my.cnf 파일 을 제거 하는 것이 었습니다 . 마지막 단계 이후, MySql은 마침내 작업을 시작했습니다.


0

mysql을 다시 시작하려고 시도한 후에도 같은 문제가 발생했습니다.

편의상 내 .profile에 다음 두 개의 별명을 사용합니다.

alias mysql-stop='launchctl unload ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist'
alias mysql-start='launchctl load ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist' 

mysql을 중지 한 다음 다시 시작하려고 시도한 후 발생한 문제가 발생했습니다. launchctl로드를 조사한 결과 "로드 할 것이 없습니다"오류가보고되었습니다.

빠른 검색 후 나는 이것을 발견했다.

http://www.daveoncode.com/2013/02/01/solve-mac-osx-launchctl-nothing-found-to-load-error/

그래서 mysql-start다음과 같이 별칭을 업데이트했습니다.

alias mysql-start='launchctl load -w -F ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist'

이것은 당신에게 유용 할 수있는 내 문제를 해결했습니다.


2
BREW는 이제 services명령을 지원 하므로 각각 brew services stop mysql및 로 대체 할 수 있습니다 brew services start mysql.
devstuff

0

Mysql의 "Base-Path"는 /etc/my.cnf추출 업그레이드를 수행 할 때 업데이트되지 않는 . 그냥 열고 기본 값을 변경하십시오.

예를 들어 다음을 변경하십시오.

[mysqld]
basedir=/Users/3st/homebrew/Cellar/mysql/5.6.13

새 버전을 가리 키려면

[mysqld]
basedir=/Users/3st/homebrew/Cellar/mysql/5.6.19

다음을 사용하여 mysql을 다시 시작하십시오.

mysql.server start
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.