wake-up-neo.com

installieren Sie Mysql auf Mac OS

Ich versuche, MySQL unter Mac OS 10.6 mit Homebrew von brew install mysql 5.1.52 einzurichten.

Alles läuft gut und ich bin auch mit dem mysql_install_db erfolgreich.
Wenn ich jedoch versuche, eine Verbindung zum Server herzustellen, verwenden Sie:

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

Ich bekomme: 

/usr/local/Cellar/mysql/5.1.52/bin/mysqladmin: Verbindung zum Server unter 'localhost' herstellen. __ ) '

Ich habe auch versucht, auf mysqladmin or mysql using -u root -proot zuzugreifen,
aber es funktioniert nicht mit oder ohne Passwort. 

Dies ist eine brandneue Installation auf einer brandneuen Maschine. Soweit ich weiß, muss die neue Installation ohne Root-Passwort zugänglich sein. Ich habe auch versucht:

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

aber ich bekomme auch 

 ERROR 1045 (28000): Zugriff für Benutzer 'root' @ 'localhost' verweigert (mit Kennwort: NEIN)
307
nikola

Ich denke, man kann in dieser Position enden, wenn ältere Versionen von mysql bereits installiert sind. Ich hatte das gleiche Problem und keine der oben genannten Lösungen funktionierte für mich. Ich habe es so repariert:

Ich habe die remove & cleanup-Befehle von brew verwendet, das launchctl-Skript entladen, dann das mysql-Verzeichnis in /usr/local/var gelöscht, meinen vorhandenen /etc/my.cnf (überlassen Sie diesen, falls zutreffend) und launchctl plist

Die Zeichenfolge für die Liste wurde aktualisiert. Beachten Sie auch, dass Ihr alternatives Sicherheitsskriptverzeichnis auf der von Ihnen installierten MySQL-Version basiert.

Schritt für Schritt:

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

Ich habe dann bei Null angefangen:

  1. installiertes mysql mit brew install mysql
  2. die folgenden Befehle ausführen lassen: (siehe Hinweis: unten)

    unset TMPDIR
    
    mysql_install_db --verbose --user=`whoami` --basedir="$(brew --prefix mysql)" --datadir=/usr/local/var/mysql --tmpdir=/tmp
    
  3. Starten Sie mysql mit dem Befehl mysql.server start, um sich darauf anmelden zu können

  4. Verwendete das alternative Sicherheitsskript:

    /usr/local/Cellar/mysql/5.5.10/bin/mysql_secure_installation
    
  5. Folgen Sie dem Abschnitt launchctl in der Skriptausgabe des Brew-Pakets, z. B.

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

Hoffe das hilft jemandem!

Hinweis: Das --force-Bit in brew cleanup wird auch veraltete Kegs bereinigen. Ich denke, es handelt sich um ein neuartiges Homebrew-Feature.

Beachten Sie die zweite: ein Kommentar sagt, dass Schritt 2 nicht erforderlich ist. Ich möchte es nicht testen, also YMMV! 

633
Lorin Rivers

Hier finden Sie eine detaillierte Anleitung, die alle MySQL-Dateien von Ihrem Mac entfernt und dann The Brew Way installiert, wie Sedorner oben schrieb:

Entfernen Sie MySQL vollständig per The Tech Lab

  • ps -ax | grep mysql
  • stop und kill alle MySQL-Prozesse
  • 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
  • bearbeiten Sie /etc/hostconfig und entfernen Sie die Zeile 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*
  • versuchen Sie, mysql auszuführen, es sollte nicht funktionieren

Installieren Sie MySQL pro Benutzer Sedorner aus dieser StackOverflow -antwort

  • brew doctor und beheben Sie eventuelle Fehler
  • 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
  • mysql.server start
  • führen Sie die Befehle aus, die Brew schlägt, fügen Sie MySQL zu launchctl hinzu, damit es beim Start automatisch gestartet wird

mysql sollte nun wie erwartet funktionieren und ausgeführt werden

Godspeed.

44
corysimmons

Hatte das selbe Problem. Anscheinend stimmt etwas nicht mit den Setup-Anweisungen oder den anfänglichen Tabellen, die erstellt werden. So habe ich mysqld auf meinem Rechner laufen lassen.

Wenn der mysqld-Server bereits auf Ihrem Mac ausgeführt wird, stoppen Sie ihn zuerst mit:

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

Starten Sie den mysqld-Server mit dem folgenden Befehl, mit dem sich jeder mit vollen Berechtigungen anmelden kann.

mysqld_safe --skip-grant-tables

Führen Sie dann mysql -u root aus, mit dem Sie sich jetzt ohne Kennwort erfolgreich anmelden können. Der folgende Befehl sollte alle Root-Passwörter zurücksetzen.

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

Wenn Sie nun die aktuelle Kopie von mysqld_safe beenden und ohne die Option zum Überspringen von Tabellen erneut starten, sollten Sie sich mit mysql -u root -p und dem gerade festgelegten neuen Kennwort anmelden können.

42

Wenn brew MySQL 5.7 installiert hat, unterscheidet sich der Vorgang etwas von den früheren Versionen .. Um das Root-Passwort zurückzusetzen, gehen Sie wie folgt vor

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

Ein temporäres Passwort wird auf die Konsole gedruckt und kann nur zum Aktualisieren des Root-Passworts verwendet werden:

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

Okay, ich hatte das gleiche Problem und habe es gelöst. Aus irgendeinem Grund funktioniert das Skript mysql_secure_installation bei Verwendung von Homebrew zur Installation von mysql nicht sofort, daher habe ich es manuell gemacht. Auf der CLI geben Sie ein:

mysql -u root

Das sollte Sie in MySQL bringen. Führen Sie nun Folgendes aus (genommen von 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;

Beenden Sie jetzt und kehren Sie mit mysql zurück zu: mysql -u root -p

8
Darren Newton

Ich hatte gerade das gleiche Problem. Wenn Sie brew info mysql und die Schritte befolgen, scheint das Root-Passwort new-password zu sein, wenn ich mich recht erinnere. Ich habe dasselbe gesehen, was Sie sehen. Dieser Artikel hat mir am meisten geholfen. 

Es stellte sich heraus, dass ich keine Konten für mich erstellt hatte. Wenn ich mich nach dem Ausführen von mysqld_safe anmeldete und select * from user; ausgeführt habe, wurden keine Zeilen zurückgegeben. Ich habe die MySQLWorkbench mit mysqld_safe gestartet und ein root-Konto mit allen Privaten hinzugefügt, die ich erwartet hatte. Das funktioniert jetzt gut für mich. 

8
Mark

Wenn mysql bereits installiert ist

Stoppen Sie MySQL vollständig.

  1. mysql.server stop <- kann je nach Version bearbeitet werden
  2. ps -ef | grep mysql <- listet Prozesse mit dem Namen mysql auf
  3. kill [PID] <- beendet die Prozesse per PID

Dateien entfernen Anweisungen oben sind gut. Ich werde hinzufügen:

  1. Sudo find /. -name "*mysql*"
  2. Nach Ihrem Urteil rm -rf diese Dateien. Beachten Sie, dass viele Programme Treiber für mysql haben, die Sie nicht entfernen möchten. Löschen Sie beispielsweise keine Dateien im Installationsverzeichnis von PHP. Entferne Sachen in seinem eigenen mysql-Verzeichnis.

Installieren

Hoffentlich hast du Homebrew. Wenn nicht, lade es herunter.

Ich mag es, als Wurzel zu brauen, aber ich glaube nicht, dass Sie dies tun müssen. Edit 2018: Sie können nicht mehr als root brauen

  1. Sudo brew update
  2. Sudo brew install cmake <- Abhängigkeit für MySQL, nützlich
  3. Sudo brew install openssl <- Abhängigkeit für MySQL, nützlich
  4. Sudo brew info mysql <- überfliegen Sie dies ... es gibt Ihnen eine Vorstellung davon, was als nächstes kommt
  5. Sudo brew install mysql --with-embedded; say done <- Installiert MySQL mit dem eingebetteten Server. Sagt Ihnen, wenn es fertig ist (meine Installation hat 10 Minuten gedauert)

Danach

  1. Sudo chown -R mysql /usr/local/var/mysql/ <- mysql funktioniert nicht für mich, bis ich diesen Befehl ausgeführt habe
  2. Sudo mysql.server start <- einmal mehr, die genaue Syntax kann variieren
  3. Erstellen Sie Benutzer in mysql ( http://dev.mysql.com/doc/refman/5.7/de/create-user.html ). Denken Sie daran, ein Passwort für den Root-Benutzer hinzuzufügen.
6

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 start

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

oder mysql -u root

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

Ich suche schon seit einiger Zeit nach einer Lösung, kann aber mein Problem nicht lösen. Ich habe mehrere Lösungen in stackoverflow.com ausprobiert, aber das hilft mir nicht.

3
Felipe Duardo

TL; DR

MySQL Server läuft möglicherweise nach der Installation mit Brew nicht. Versuchen Sie brew services start mysql oder einfach mysql.server start, wenn Sie nicht möchten, dass MySQL als Hintergrunddienst ausgeführt wird.

Ganze Geschichte:

Ich habe gerade MySQL (stable) 5.7.17 auf einem neuen MacBook Pro installiert, auf dem Sierra ausgeführt wird. Außerdem wurde beim Ausführen von mysql_secure_installation eine Fehlermeldung angezeigt:

Securing the MySQL server deployment.

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

Sag was?

Gemäß den Installationsinformationen von Brew sollte mysql_secure_installation Sie dazu auffordern, ... die Installation zu sichern. Ich dachte mir, dass der MySQL-Server zu Recht nicht läuft. Das Ausführen von brew services start mysql und dann mysql_secure_installation hat wie ein Zauber funktioniert.

2
Nicholas

Versuchen Sie es, indem Sie Grant die Berechtigung Befehl von mysql erteilen

1
XMen

Keine der obigen Antworten (oder eine der Dutzenden Antworten, die ich anderswo gesehen habe) funktionierte für mich, wenn ich brew mit der neuesten Version von MySQL und Yosemite verwende. Ich habe am Ende eine andere MySQL-Version via Brew installiert.

Eine ältere Version angeben, indem Sie sagen (zum Beispiel)

brew install mysql56

Arbeitete für mich. Hoffe das hilft jemandem. Dies war ein frustrierendes Problem, bei dem ich das Gefühl hatte, für immer festgehalten zu werden.

1
toddmetheny

Der "Basispfad" für "Mysql" wird in /etc/my.cnf gespeichert, der beim Aktualisieren nicht aktualisiert wird. Öffnen Sie es einfach und ändern Sie den basedir-Wert

Ändern Sie dies beispielsweise:

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

auf die neue Version zeigen:

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

Starten Sie Mysql erneut mit:

mysql.server start
0
Bernhard Zürn

Ich hatte das gleiche Problem, nachdem ich versucht hatte, MySQL neu zu starten.

Ich benutze zur Vereinfachung die folgenden zwei Aliase in meinem .profile

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

Nachdem ich mysql gestoppt und dann einen Neustart versucht habe, habe ich das Problem festgestellt, das Sie hatten. Ich habe mir die Launchctl-Last angesehen, und es wurde ein Fehler "nichts gefunden zum Laden" gemeldet.

Nach einer schnellen Suche fand ich das ..

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

Also habe ich den mysql-start-Alias ​​wie folgt aktualisiert

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

Dies hat mein Problem gelöst, das für Sie nützlich sein kann.

0

Hier ist ein Update für MySQL 5.7

 bash --version 
 GNU bash, Version 4.4.12 (1) -release (x86_64-Apple-darwin17.0.0) 
 Copyright (C) 2016 Free Software Foundation, Inc. .
 Lizenz GPLv3 + : GNU GPL Version 3 oder höher 

 Dies ist freie Software. Es steht Ihnen frei, es zu ändern und weiterzuverteilen. Es besteht KEINE GEWÄHRLEISTUNG, soweit gesetzlich zulässig .

 # ==================== ======================
 brew --version 
 Homebrew 1.7.6 
 Homebrew/Homebrew-Kern (Git-Revision eeb08; letzter Commit.) 2018-09-27) 
 Homebrew/Homebrew-Fass (Git-Revision c9f62; letzter Commit 2018-09-27) 

 # ================== =========================__. mysql --version 
 mysql Ver 14.14 Distrib 5.7.23, für osx10.13 (x86_64) verwenden EditLine-Wrapper 

 # ========================================= __. system_profiler SPSoftwareDataType
Software:

 Systemsoftware-Übersicht: 

 Systemversion: macOS 10.13.3 (17D47) 
 Kernel-Version: Darwin 17.4.0 
 Startvolume: Macintosh HD 
 Boot-Modus: Normal 
 Computername: EdisonMacHomeBj 
 Benutzername: Edison (edison) 
 Sicherer virtueller Speicher: Aktiviert 
 Systemintegritätsschutz: Deaktiviert 
 Zeit seit dem Start: 6 Tage 23:13 
 brew entfernen [email protected]
brew cleanup
mv/usr/local/var/mysql /usr/local/var/mysql.bak
brew install [email protected]
rm -rf/usr/local/var/mysql 

 # ===================================== ==== 
 mysqld --initialize 
 2018-09-28T04: 54: 06.526061Z 0 [Warnung] TIMESTAMP mit implizitem DEFAULT-Wert ist veraltet. Bitte verwenden Sie die Serveroption --explicit_defaults_for_timestamp (weitere Informationen finden Sie in der Dokumentation). 2018-09-28T04: 54: 06.542625Z 0 [Warnung] Einstellung lower_case_table_names = 2, da das Dateisystem für/usr/local/var/mysql/ist Groß- und Kleinschreibung wird nicht berücksichtigt 
 2018-09-28T04: 54: 07.096637Z 0 [Warnung] InnoDB: Neue Protokolldateien erstellt, LSN = 45790 
 2018-09-28T04: 54: 07.132950Z 0 [Warnung] InnoDB: Erstellen von Fremddaten Schlüsselbedingungs-Systemtabellen .
 2018-09-28T04: 54: 07.196824Z 0 [Warnung] Es wurde keine vorhandene UUID gefunden. Daher wird davon ausgegangen, dass dieser Server zum ersten Mal gestartet wurde. Generieren einer neuen UUID: 87cf2f10-c2da-11e8-ac2d-ba163df10130 .
 2018-09-28T04: 54: 07.224871Z 0 [Warnung] Die Gtid-Tabelle kann nicht verwendet werden. Tabelle 'mysql.gtid_executed' kann nicht geöffnet werden .
 2018-09-28T04: 54: 07.366688Z 0 [Warning] CA-Zertifikat ca.pem ist selbst signiert .
 2018-09-28T04: 54: 07.457954Z 1 [Hinweis] Für root @ localhost wird ein temporäres Kennwort generiert: kq3K = JR8; GqZ 

 # ========================= ================... mysql_secure_installation -uroot -p "kq3K = JR8; GqZ" 
 mysql_secure_installation: [Warnung] Die Verwendung eines Kennworts für die Befehlszeilenschnittstelle kann unsicher sein. 

 Sicherung der MySQL-Server-Bereitstellung .


 Das vorhandene Kennwort für den Benutzerkontenstamm ist abgelaufen. Bitte geben Sie ein neues Passwort ein .

 Neues Passwort: 

 Neues Passwort erneut eingeben: 

 VALIDATE PASSWORD PLUGIN kann zum Testen von Passwörtern 
 Und zur Verbesserung der Sicherheit verwendet werden. Es überprüft die Stärke des Passworts 
 Und ermöglicht den Benutzern, nur die Passwörter festzulegen, die
sicher sind. Möchten Sie das VALIDATE PASSWORD-Plugin einrichten? 

 Drücken Sie y | Y für Ja, eine beliebige andere Taste für Nein: n 
 Vorhandenes Passwort für root verwenden .
 Ändern Sie das Passwort für root. ((Drücken Sie y | Y für Ja, eine beliebige andere Taste für Nein): y 

 Neues Passwort: 

 Geben Sie das neue Passwort erneut ein: 
 Standardmäßig ist eine MySQL-Installation anonym user, 
 Benutzer können sich bei MySQL anmelden, ohne dass __.__ ein Benutzerkonto für diese Benutzer erstellt werden muss. Dies ist nur für 
 Tests gedacht, und um die Installation etwas ruhiger zu gestalten .
 Sie sollten Entfernen Sie sie vor dem Wechsel in eine Produktionsumgebung 
__
 Anonyme Benutzer entfernen (Drücken Sie y | Y für Ja, eine beliebige andere Taste für Nein): y 
 Erfolg .


 Normalerweise sollte root nur von __. 'localhost' aus eine Verbindung herstellen dürfen. Dadurch kann sichergestellt werden, dass niemand das ___. Das Root-Passwort aus dem Netzwerk erraten kann .

 Root-Anmeldung remote unterdrücken? (Drücken Sie y Y für Ja, jeder andere Schlüssel für Nein): n 

 ... überspringen .
 Standardmäßig enthält MySQL eine Datenbank mit dem Namen 'test', auf die jeder Benutzer zugreifen kann. Dies ist auch möglich nur für Testzwecke vorgesehen.... und sollte entfernt werden, bevor Sie in eine Produktionsumgebung 
 gehen .


 Entfernen Sie die Testdatenbank und Zugang dazu? (Drücken Sie y | Y für Ja, jede andere Taste für Nein): n 

 ... überspringen .
 Beim erneuten Laden der Berechtigungstabellen werden alle bisher vorgenommenen Änderungen 
 sofort wirksam. .

 Berechtigungstabellen jetzt neu laden? (Drücken Sie y | Y für Ja, eine beliebige andere Taste für Nein): y 
 Erfolg .

 Alles fertig! 
0
Edison