sierra plugin mac high cannot caching_sha2_password mysql macos homebrew mysql-error-1045

plugin - brew instala mysql en mac os



mysql client mac (14)

Estoy intentando configurar MySQL en mac os 10.6 usando Homebrew by brew install mysql 5.1.52 .

Todo va bien y también tengo éxito con mysql_install_db .
Sin embargo, cuando intento conectarme al servidor usando:

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

Yo obtengo:

/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)''

He intentado acceder a mysqladmin or mysql using -u root -proot también
pero no funciona con o sin contraseña.

Esta es una instalación completamente nueva en una máquina nueva y, por lo que sé, la nueva instalación debe ser accesible sin una contraseña de root. También intenté:

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

pero también consigo

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


Si mysql ya está instalado

Detener mysql completamente.

  1. mysql.server stop <: puede necesitar una edición basada en su versión
  2. ps -ef | grep mysql ps -ef | grep mysql <: muestra los procesos con mysql en su nombre
  3. kill [PID] <- mata los procesos por PID

Eliminar archivos. Las instrucciones anteriores son buenas. Lo añadiré:

  1. sudo find /. -name "*mysql*"
  2. Usando su juicio, rm -rf estos archivos. Tenga en cuenta que muchos programas tienen controladores para mysql que no desea eliminar. Por ejemplo, no borres cosas en el directorio de instalación de PHP. Eliminar cosas en su propio directorio mysql.

Instalar

Esperemos que tengas homebrew. Si no, descárgalo.

Me gusta ejecutar brew como root, pero no creo que tengas que hacerlo. Edición 2018: ya no puedes ejecutar brew como root

  1. sudo brew update
  2. sudo brew install cmake <- dependencia para mysql, útil
  3. sudo brew install openssl <- dependencia para mysql, útil
  4. sudo brew info mysql <: revisa esto ... te da una idea de lo que viene a continuación
  5. sudo brew install mysql --with-embedded; say done sudo brew install mysql --with-embedded; say done <: instala mysql con el servidor incorporado. Te dice cuándo termina (mi instalación tardó 10 minutos)

Después

  1. sudo chown -R mysql /usr/local/var/mysql/ <- mysql no funcionaría para mí hasta que ejecuté este comando
  2. sudo mysql.server start <- una vez más, la sintaxis exacta puede variar
  3. Cree usuarios en mysql ( http://dev.mysql.com/doc/refman/5.7/en/create-user.html ). Recuerde agregar una contraseña para el usuario root.

Aquí hay instrucciones detalladas que combinan deshacerse de todos los MySQL de su Mac y luego instalarlo como se describe en The Brew Way como Sedorner:

Eliminar MySQL completamente por The Tech Lab

  • ps -ax | grep mysql
  • detener y kill cualquier proceso de 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
  • Edite /etc/hostconfig y elimine la línea 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*
  • intenta ejecutar mysql , no debería funcionar

Realice la instalación de MySQL por usuario Sedorner desde esta respuesta de

  • brew doctor y arregla cualquier error.
  • 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
  • ejecute los comandos que Brew sugiere, agregue MySQL a launchctl para que se launchctl automáticamente al inicio

mysql ahora debería funcionar y ejecutarse todo el tiempo como se esperaba

Buena suerte.


Aquí hay una actualización para 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. License GPLv3+: GNU GPL version 3 or later This is free software; you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. #======================================== brew --version Homebrew 1.7.6 Homebrew/homebrew-core (git revision eeb08; last commit 2018-09-27) Homebrew/homebrew-cask (git revision c9f62; last commit 2018-09-27) #======================================== mysql --version mysql Ver 14.14 Distrib 5.7.23, for osx10.13 (x86_64) using EditLine wrapper #======================================== system_profiler SPSoftwareDataType Software: System Software Overview: System Version: macOS 10.13.3 (17D47) Kernel Version: Darwin 17.4.0 Boot Volume: Macintosh HD Boot Mode: Normal Computer Name: EdisonMacHomeBj User Name: Edison (edison) Secure Virtual Memory: Enabled System Integrity Protection: Disabled Time since boot: 6 days 23:13

brew remove [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 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details). 2018-09-28T04:54:06.542625Z 0 [Warning] Setting lower_case_table_names=2 because file system for /usr/local/var/mysql/ is case insensitive 2018-09-28T04:54:07.096637Z 0 [Warning] InnoDB: New log files created, LSN=45790 2018-09-28T04:54:07.132950Z 0 [Warning] InnoDB: Creating foreign key constraint system tables. 2018-09-28T04:54:07.196824Z 0 [Warning] No existing UUID has been found, so we assume that this is the first time that this server has been started. Generating a new UUID: 87cf2f10-c2da-11e8-ac2d-ba163df10130. 2018-09-28T04:54:07.224871Z 0 [Warning] Gtid table is not ready to be used. Table ''mysql.gtid_executed'' cannot be opened. 2018-09-28T04:54:07.366688Z 0 [Warning] CA certificate ca.pem is self signed. 2018-09-28T04:54:07.457954Z 1 [Note] A temporary password is generated for root@localhost: kq3K=JR8;GqZ #======================================== mysql_secure_installation -uroot -p"kq3K=JR8;GqZ" mysql_secure_installation: [Warning] Using a password on the command line interface can be insecure. Securing the MySQL server deployment. The existing password for the user account root has expired. Please set a new password. New password: Re-enter new password: VALIDATE PASSWORD PLUGIN can be used to test passwords and improve security. It checks the strength of password and allows the users to set only those passwords which are secure enough. Would you like to setup VALIDATE PASSWORD plugin? Press y|Y for Yes, any other key for No: n Using existing password for root. Change the password for root ? ((Press y|Y for Yes, any other key for No) : y New password: Re-enter new password: By default, a MySQL installation has an anonymous user, allowing anyone to log into MySQL without having to have a user account created for them. This is intended only for testing, and to make the installation go a bit smoother. You should remove them before moving into a production environment. Remove anonymous users? (Press y|Y for Yes, any other key for No) : y Success. Normally, root should only be allowed to connect from ''localhost''. This ensures that someone cannot guess at the root password from the network. Disallow root login remotely? (Press y|Y for Yes, any other key for No) : n ... skipping. By default, MySQL comes with a database named ''test'' that anyone can access. This is also intended only for testing, and should be removed before moving into a production environment. Remove test database and access to it? (Press y|Y for Yes, any other key for No) : n ... skipping. Reloading the privilege tables will ensure that all changes made so far will take effect immediately. Reload privilege tables now? (Press y|Y for Yes, any other key for No) : y Success. All done!


Creo que uno puede terminar en esta posición con versiones anteriores de mysql ya instaladas. Tuve el mismo problema y ninguna de las soluciones anteriores funcionó para mí. Lo arreglé así:

Usé cleanup comandos de remove y cleanup brew, descargué la launchctl comandos launchctl , luego launchctl el directorio mysql en /usr/local/var , /etc/my.cnf mi /etc/my.cnf existente (déjelo a usted, si corresponde) y launchctl plist

Actualizado la cadena para el plist. Tenga en cuenta también que su directorio de script de seguridad alternativo se basará en la versión de MySQL que está instalando.

Paso a paso:

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

Entonces empecé desde cero:

  1. mysql instalado con brew install mysql
  2. Ejecutó los comandos de elaboración de cerveza sugeridos: (ver nota: abajo)

    unset TMPDIR mysql_install_db --verbose --user=`whoami` --basedir="$(brew --prefix mysql)" --datadir=/usr/local/var/mysql --tmpdir=/tmp

  3. Inicie mysql con el comando de mysql.server start para poder iniciar sesión en él

  4. Utilizó el script de seguridad alternativo:

    /usr/local/Cellar/mysql/5.5.10/bin/mysql_secure_installation

  5. Siguió la sección launchctl de la salida del script del paquete brew como, por ejemplo,

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

  6. Auge.

Espero que ayude a alguien!

Nota: el bit --force en la brew cleanup también limpiará barriles desactualizados, creo que es una nueva característica de brew cleanup .

Tenga en cuenta el segundo: un comentarista dice que el paso 2 no es necesario. No quiero probarlo, así que YMMV!


De acuerdo tuve el mismo problema y lo resolví. Por alguna razón, el script mysql_secure_installation no funciona de forma inmediata cuando se utiliza Homebrew para instalar mysql, así que lo hice manualmente. En el CLI ingrese :

mysql -u root

Eso debería meterte en mysql. Ahora haga lo siguiente (tomado de 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;

Ahora salga y vuelva a mysql con: mysql -u root -p


La "Ruta base" para Mysql se almacena en /etc/my.cnf que no se actualiza cuando se realiza la actualización. Solo ábrelo y cambia el valor de basedir

Por ejemplo, cambia esto:

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

para apuntar a la nueva versión:

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

Reinicie mysql con:

mysql.server start


Ninguna de las respuestas anteriores (o cualquiera de las docenas de respuestas que vi en otros lugares) funcionó para mí cuando utilizo brew con la versión más reciente de mysql y yosemite. Terminé instalando una versión mysql diferente a través de brew.

Especificando una versión anterior diciendo (por ejemplo)

brew install mysql56

Trabajó para mi. Espero que esto ayude a alguien. Este fue un problema frustrante que sentí como si estuviera atascado para siempre.


Si brew instaló MySQL 5.7, el proceso es un poco diferente al de las versiones anteriores. Para restablecer la contraseña de root, haga lo siguiente:

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

Se imprimirá una contraseña temporal en la consola y solo se puede utilizar para actualizar la contraseña de root:

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


Tenía el mismo problema. Parece que hay algo mal con las instrucciones de configuración o las tablas iniciales que se están creando. Así es como funcionó mysqld en mi máquina.

Si el servidor mysqld ya se está ejecutando en su Mac, deténgalo primero con:

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

Inicie el servidor mysqld con el siguiente comando que le permite a cualquiera iniciar sesión con permisos completos.

mysqld_safe --skip-grant-tables

Luego ejecute mysql -u root que ahora debería permitirle iniciar sesión correctamente sin una contraseña. El siguiente comando debe restablecer todas las contraseñas de root.

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

Ahora, si mata la copia en ejecución de mysqld_safe y la vuelve a iniciar sin la opción skip-grant-tables, debería poder iniciar sesión con mysql -u root -p y la nueva contraseña que acaba de establecer.


Trate de dar permiso de concesión del comando de mysql


Tuve el mismo problema después de que intenté reiniciar mysql.

Uso los siguientes dos alias en mi .profile para mayor comodidad

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

Después de detener mysql y luego intentar reiniciar, experimenté el problema que estaba teniendo. Miré en la carga de launchctl y estaba informando un error de "nada se encontró para cargar".

Después de una búsqueda rápida encontré esto ...

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

Así que actualicé mysql-start alias como sigue

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

Esto resolvió mi problema que puede ser útil para usted.


Tuve el mismo problema justo ahora. Si brew info mysql y sigues los pasos, parece que la contraseña de root debería ser una new-password si recuerdo correctamente. Estaba viendo lo mismo que tú estás viendo. Este artículo me ayudó más.

Resultó que no tenía ninguna cuenta creada para mí. Cuando mysqld_safe sesión después de ejecutar mysqld_safe y select * from user; no se devolvieron filas. Abrí MySQLWorkbench con mysqld_safe ejecución y agregué una cuenta de root con todos los privilegios que esperaba. Esto está funcionando bien para mí ahora.


elaborar información 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

inicio mysql.service

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

o mysql -u root

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

Estoy buscando una solución por un tiempo pero no puedo resolver mi problema. Probé varias soluciones en .com pero no me ayudó esto.


TL; DR

Es posible que el servidor MySQL no se esté ejecutando después de la instalación con Brew. Intente brew services start mysql o simplemente mysql.server start si no desea que MySQL se ejecute como un servicio en segundo plano.

Historia completa:

Acabo de instalar MySQL (estable) 5.7.17 en una nueva MacBook Pro con Sierra y también recibí un error al ejecutar 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)

¿Que qué?

De acuerdo con la información de instalación de Brew, mysql_secure_installation debería indicarme que ... asegure la instalación. Pensé que el servidor MySQL podría no estar funcionando y con razón. Los brew services start mysql ejecución brew services start mysql y luego mysql_secure_installation funcionó a la mysql_secure_installation .