416 Stimmen

brew install mysql auf macOS

Ich versuche, MySQL auf Mac OS 10.6 mit Homebrew einzurichten, indem ich brew install mysql 5.1.52 .

Alles läuft gut und ich bin auch erfolgreich mit dem mysql_install_db .
Wenn ich jedoch versuche, mich mit dem Server zu verbinden, indem ich:

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

Ich verstehe:

/usr/local/Cellar/mysql/5.1.52/bin/mysqladmin: connect to server at 'localhost' 
failed error: 'Access denied for user 'root'@'localhost' (using password: NO)'

Ich habe versucht, Zugang zu mysqladmin or mysql using -u root -proot auch,
aber es funktioniert weder mit noch ohne Passwort.

Dies ist eine brandneue Installation auf einem brandneuen Rechner, und soweit ich weiß, muss die neue Installation ohne Root-Passwort zugänglich sein. Ich habe es auch versucht:

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

aber ich bekomme auch

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

8voto

Darren Newton Punkte 2797

Okay, ich hatte das gleiche Problem und habe es gelöst. Aus irgendeinem Grund funktioniert das mysql_secure_installation Skript nicht, wenn man Homebrew benutzt, um mysql zu installieren, also habe ich es manuell gemacht. Geben Sie in der CLI :

mysql -u root

Das sollte Sie zu mysql bringen. Führen Sie nun die folgenden Schritte aus (aus 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 nun und kehren Sie mit zurück in mysql: mysql -u root -p

8voto

Mark Punkte 9636

Ich hatte das gleiche Problem gerade eben. Wenn Sie brew info mysql und folgen Sie den Schritten, dann sollte das Root-Passwort wie folgt lauten new-password wenn ich mich richtig erinnere. Ich habe dasselbe gesehen wie Sie. Dieser Artikel hat mir am meisten geholfen.

Es stellte sich heraus, dass ich keine jede Konten für mich erstellt. Als ich mich nach der Ausführung von mysqld_safe und hat select * from user; wurden keine Zeilen zurückgegeben. Ich öffnete die MySQLWorkbench mit der mysqld_safe laufen und fügte eine root Konto mit allen Rechten, die ich erwartet hatte. Dies sind gut für mich jetzt arbeiten.

7voto

sudo rm -rf slash Punkte 988

Wenn mysql bereits installiert ist

Beenden Sie mysql vollständig.

  1. mysql.server stop <-- muss je nach Ihrer Version möglicherweise bearbeitet werden
  2. ps -ef | grep mysql <-- listet Prozesse mit mysql im Namen auf
  3. kill [PID] <-- die Prozesse nach PID beenden

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

  1. sudo find /. -name "*mysql*"
  2. Nutzen Sie Ihr Urteilsvermögen, rm -rf diese Dateien. Beachten Sie, dass viele Programme Treiber für mysql haben, die Sie nicht entfernen wollen. Löschen Sie zum Beispiel keine Dateien im Verzeichnis einer PHP-Installation. Entfernen Sie Dinge in ihrem eigenen mysql-Verzeichnis.

Installieren Sie

Hoffentlich haben Sie Homebrew. Wenn nicht, laden Sie es herunter.

Ich mag es, brew als Root laufen zu lassen, aber ich glaube nicht, dass man das muss. Edit 2018: man kann brew nicht mehr als Root laufen lassen

  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 <-- überfliege das hier... es gibt dir 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 dauerte 10 Minuten)

Danach

  1. sudo chown -R mysql /usr/local/var/mysql/ <-- mysql funktionierte bei mir nicht, bis ich diesen Befehl ausführte
  2. sudo mysql.server start <-- auch hier kann die genaue Syntax variieren
  3. Benutzer in mysql anlegen ( http://dev.mysql.com/doc/refman/5.7/en/create-user.html ). Denken Sie daran, ein Passwort für den Root-Benutzer hinzuzufügen.

3voto

Felipe Duardo Punkte 51

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 starten

. 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, aber ich kann mein Problem nicht lösen. Ich habe mehrere Lösungen in stackoverflow.com versucht, aber das hilft mir nicht.

3voto

Nicholas Punkte 2099

TL;DR

Möglicherweise läuft der MySQL-Server nach der Installation mit Brew nicht. Versuchen Sie brew services start mysql oder einfach mysql.server start wenn Sie nicht wollen, dass MySQL als Hintergrunddienst läuft.

Vollständige Geschichte:

Ich habe gerade MySQL (stable) 5.7.17 auf einem neuen MacBook Pro mit Sierra installiert und bekam auch einen Fehler beim Ausführen 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)

Was sagen Sie?

Laut der Installationsinformation von Brew, mysql_secure_installation sollte mich auffordern, ... die Installation zu sichern. Ich dachte mir, dass der MySQL-Server vielleicht nicht läuft, und das zu Recht. läuft. brew services start mysql y luego mysql_secure_installation funktionierte wie ein Zauber.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X