programing

brew install mysql on macOS

yoursource 2023. 2. 4. 09:41
반응형

brew install mysql on macOS

by Homebrew를 하여 Mac 10brew 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 as니 as as as as as as.
패스워드가 있든 없든 동작하지 않습니다.

이것은 새로운 머신에 새로 설치하는 것으로, 루트 패스워드 없이 새로운 인스톨에 액세스 할 수 있는 것으로 알고 있습니다.저도 시도했습니다.

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

하지만 나는 또한

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

이전 버전의 mysql이 이미 설치되어 있으면 이 위치가 될 수 있다고 생각합니다.저도 같은 문제가 있었는데, 위의 어떤 해결책도 제게는 효과가 없었습니다.다음과 같이 수정했습니다.

양조장 ★★★★★★★★★★★★★★★★★★★.remove&cleanup "" "launchctl, 다음으로 mysql 의 mysql을 합니다./usr/local/var기존 파일을 삭제했습니다./etc/my.cnf을 유저에게 및 launchctl (「」, 「」)의 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. with installed mysqlbrew install mysql
  2. 권장되는 brew 명령어를 실행했습니다(주: 아래 참조).

    unset TMPDIR
    
    mysql_install_db --verbose --user=`whoami` --basedir="$(brew --prefix mysql)" --datadir=/usr/local/var/mysql --tmpdir=/tmp
    
  3. 을 "Da" mysql로 합니다.mysql.server start을 할 수 .

  4. 대체 보안 스크립트 사용:

    /usr/local/Cellar/mysql/5.5.10/bin/mysql_secure_installation
    
  5. .launchctl " " " " " " from from section section section section section section 。

    #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!

다음은 Mac에서 MySQL을 모두 제거한 후 설치하는 방법에 대한 자세한 설명입니다. Sedorner가 위에서 기술한 바와 같이 The Brew Way:

Tech Lab에서 MySQL을 완전히 삭제

  • ps -ax | grep mysql
  • kill의 MySQL (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에 합니다.launchctl합니다.

mysql대로 항상 .

행운을 빈다.

같은 문제가 있었어.셋업 절차 또는 작성 중인 초기 테이블에 문제가 있는 것 같습니다.이렇게 해서 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그리고 방금 설정한 새로운 패스워드를 입력합니다.

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

홈브루

  1. 먼저 홈브루가 설치되어 있는지 확인합니다.
  2. 실행합니다.brew doctor해 하는 것은 해 주세요.
  3. 실행합니다.brew install mysql
  4. 실행합니다.brew services restart mysql
  5. 실행합니다.mysql.server start
  6. 실행합니다.mysql_secure_installation

네, 저도 같은 문제가 있어서 해결했습니다.어떤 이유에서인지 Homebrew를 사용하여 mysql을 설치할 때 mysql_secure_install 스크립트가 처음부터 작동하지 않기 때문에 수동으로 설치했습니다.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로 돌아갑니다.mysql -u root -p

★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ 당신이 가 if if if ifbrew info mysql는 루트 패스워드가 될 것 순서를 .new-password제 기억이 맞다면요.나도 네가 보고 있는 걸 보고 있었어. 기사가 에게 가장 큰 도움이 되었다.

알고 보니 저를 위해 만든 계정이 없었습니다.실행 후 로그인 했을 때mysqld_safe ★★★★★★★★★★★★★★★★.select * from user;행이 반환되지 않았습니다..mysqld_safe 중 " " " 가 되었습니다.root내가 기대했던 모든 비밀에 대한 설명입니다.지금은 잘 되고 있어요.

mysql이 이미 설치되어 있는 경우

mysql을 완전히 중지합니다.

  1. mysql.server stop<-- 버전에 따라 편집이 필요할 수 있습니다.
  2. ps -ef | grep mysql는, 에 mysql 을 가지는 합니다.<-- 에 、 mysql 。
  3. kill [PID] 에 프로세스를 합니다.

파일을 삭제합니다.위의 지시사항이 좋습니다.추가:

  1. sudo find /. -name "*mysql*"
  2. ㅇㅇㅇㅇㅇㅇㅇㅇㅇㅇㅇㅇㅇㅇㅇㅇㅇㅇㅇㅇㅇㅇㅇㅇㅇㅇㅇㅇ.rm -rf .많은 프로그램에는 삭제하지 않는 mysql 드라이버가 있습니다.예를 들어, PHP 설치 디렉토리의 내용을 삭제하지 마십시오."mysql" "Mysql" "Mysql" "Mysql" 입니다.

설치하다

홈브루가 있었으면 좋겠네요.그렇지 않은 경우 다운로드하십시오.

나는 양조주를 뿌리로 하는 것을 좋아하지만, 그럴 필요는 없을 것 같아.2018 편집: 더 이상 루트로 brew를 실행할 수 없습니다.

  1. sudo brew update
  2. sudo brew install cmakemysql , <------------------------------------------------------------
  3. sudo brew install opensslmysql , <------------------------------------------------------------
  4. sudo brew info mysql<-----------------에 일이 할 수 있다
  5. sudo brew install mysql --with-embedded; say done<--mysql > 。10월 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)에서 사용자를 만듭니다.root 사용자의 비밀번호를 추가하는 것을 잊지 마십시오.

TL;DR

Brew를 사용하여 설치한 후 MySQL 서버가 실행되지 않을 수 있습니다.★★를 해 보세요.brew services start mysql 그냥 '그냥'일 수도 있어요.mysql.server startMySQL을 백그라운드 서비스로 실행하지 않으려면 이 옵션을 선택합니다.

풀스토리:

를 실행하는 MySQL 했는데, Sierra의 MacBook Pro 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)

뭐라고?

의 설치 mysql_secure_installation설치를 확보합니다.MySQL 서버가 실행되고 있지 않을 수 있다고 생각했기 때문에 올바르게 동작하고 있습니다..brew services start mysql 다음에 또 한 번.mysql_secure_installation아주 잘 작동했어요.

MySQL 5.7 업데이트 내용입니다.

bash --versionGNU bash, 버전 4.4.12 (1)-release (x86_64-apple-darwin 17.0.0)Copyright (C) 2016 Free Software Foundation, Inc.라이선스 GPLv3+: GNU GPL 버전3 이후
이것은 무료 소프트웨어입니다.변경 및 재배포는 자유입니다.
법에 의해 허용된 범위 내에서 보증은 없습니다.

#========================================brew --version홈브루 1.7.6Homebrew/homebrew-core(git revision eeb08; last commit 2018-09-27)홈브루/홈브루 캐스크(git revision c9f62; last commit 2018-09-27)
#========================================mysql --versionmysql Ver 14.14 EditLine 래퍼 사용 osx10.13(x86_64)용 Distributed 5.7.23
#========================================system_profiler SPSoftware Data Type소프트웨어:

시스템 소프트웨어의 개요:

시스템 버전: macOS 10.13.3 (17D47)커널 버전:다윈 17.4.0부팅 볼륨:Macintosh HD부트 모드: 보통컴퓨터 이름:에디슨맥홈Bj사용자 이름:에디슨 (에디슨)가상 메모리 보안: 활성화시스템 무결성 보호:무효부팅 후 시간: 6일 23:13
brew remysql@5.7 삭제
양조 정화mv /usr/local/var/var/var/usr/local/var/var/mv.밧테루brew install mysql@5.7
rm - syslog / usr / local / var / syslog
#========================================mysqld --initialize2018-09-28T04:54:06.526061Z 0 [경고] DEFAULT 값이 암묵적인 TIMESTAMP는 권장되지 않습니다.--explicit_defaults_for_timestamp 서버 옵션을 사용하십시오(자세한 내용은 설명서를 참조하십시오).
2018-09-28T04:54:06.542625Z 0 [경고] /usr/local/var/var/syslog/의 파일 시스템이 대소문자를 구분하지 않으므로 lower_case_table_names=2 를 설정합니다.2018-09-28T04:54.07.096637Z 0 [경고] InnoDB: 신규 로그 파일 생성, LSN=457902018-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.22471Z 0 [경고] Gtid 테이블을 사용할 준비가 되지 않았습니다.'mysql.gtid_executed' 테이블을 열 수 없습니다.
2018-09-28T04:54:07.36668Z 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 : [ Warning ]명령줄 인터페이스에서 비밀번호를 사용하는 것은 안전하지 않을 수 있습니다.

MySQL 서버 배포 보안 보호.


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

새 암호:

새 암호 다시 입력:

패스워드 검증 플러그인은 패스워드 테스트에 사용할 수 있습니다.보안을 강화할 수 있습니다.패스워드의 강도를 체크합니다.사용자가 설정할 수 있는 패스워드는 다음과 같습니다.충분히 안전합니다.VALIDE PASSWORD 플러그인을 설정하시겠습니까?

y|Y를 누르면 Yes, 기타 임의의 키를 누르면 No: nroot에 기존 비밀번호를 사용합니다.
root 비밀번호를 변경합니다(예, 아니요의 경우 기타 임의의 키를 누릅니다).y
새 암호:

새 암호 다시 입력:
기본적으로 MySQL 설치에는 익명 사용자가 있습니다.모든 사용자가 MySQL에 로그인 할 수 있습니다.사용자 계정을 만듭니다.이것은 다음 목적만을 대상으로 합니다.테스트 및 설치를 보다 원활하게 진행할 수 있습니다.
프로덕션으로 이동하기 전에 제거해야 합니다.환경.

익명 사용자를 삭제하시겠습니까? (Yes의 경우 y|Y, No의 경우 기타 키를 누릅니다) : y성공.


일반적으로 루트는 다음 위치에서만 연결할 수 있어야 합니다.'localhost' 입니다.이것에 의해, 누군가가 추측할 수 없게 됩니다.루트 패스워드를 지정합니다.

루트 로그인을 원격으로 허용하지 않으시겠습니까? (Yes의 경우 y|Y를 누르고 No의 경우 다른 키를 누릅니다.) : n
...건너뛰기.
기본적으로 MySQL에는 다음과 같은 'test'라는 이름의 데이터베이스가 포함되어 있습니다.누구나 접근할 수 있습니다.이것도 테스트 전용입니다.그리고 프로덕션으로 이동하기 전에 제거해야 합니다.환경.


테스트 데이터베이스를 삭제하고 액세스하시겠습니까?(예, 아니요의 경우 다른 키를 누릅니다) : n
...건너뛰기.
권한 테이블을 새로고침하면 모든 변경사항이즉시 효력을 발휘합니다.

권한 테이블을 지금 새로고침하시겠습니까? (Yes의 경우 y|Y, No의 경우 기타 키를 누릅니다) : y성공.

다 끝냈어!

이전 답변에 추가 사항 - 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은 마침내 작동하기 시작했습니다.

mysql의 권한 부여 명령을 부여하여 시도합니다.

mysql을 재기동하려고 해도 같은 문제가 발생하였습니다.

편의를 위해 .profile에 다음 2개의 에일리어스를 사용합니다.

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

mysql을 정지하고 나서 재기동하려고 하면 문제가 발생하였습니다.launchctl 로드를 조사했더니 "nothing found to load" 오류가 보고되었습니다.

빠른 검색 끝에 이걸 찾았어요

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'

이것으로 당신에게 도움이 될 수 있는 문제가 해결되었습니다.

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

다음과 같은 방법으로 이전 버전 지정(예:

brew install mysql56

나한테는 통했어이게 도움이 됐으면 좋겠네요.이것은 좌절감을 주는 문제여서 나는 영원히 꼼짝할 수 없을 것 같았다.

의 "Mysql의 "Base-Path"에 됩니다./etc/my.cnf양조업그레이드 basedir를 만 하면 .

예를 들어 다음과 같이 변경합니다.

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

새 버전을 가리키려면:

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

mysql 재시작 대상:

mysql.server start

MariaDB를 위해 제공한 솔루션을 사용해 보십시오. MySQL에서도 작동한다는 높은 변경 사항:

MacOSX homebrew mysql 루트 패스워드

즉, root가 아닌 사용자 이름으로 로그인을 시도합니다.

MacOS 계정 사용자 이름과 동일한 이름(예: jonsmit)을 사용해 보십시오.

루트로 로그인하려면 다음 명령을 발행합니다.

mysql -u johnsmit

언급URL : https://stackoverflow.com/questions/4359131/brew-install-mysql-on-macos

반응형