preparar instalar mysql en macOS

Resuelto nikola asked hace 14 años • 17 respuestas

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

Todo va bien y también tengo éxito con el 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: conectarse al servidor en 'localhost'
error fallido: 'Acceso denegado para el usuario 'root'@'localhost' (usando contraseña: NO)'

Intenté acceder mysqladmin or mysql using -u root -proottambién,
pero no funciona con o sin contraseña.

Esta es una instalación completamente nueva en una máquina nueva y, hasta donde yo sé, se debe poder acceder a la nueva instalación sin una contraseña de root. También probé:

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

pero también entiendo

ERROR 1045 (28000): Acceso denegado para el usuario 'root'@'localhost' (usando contraseña: NO)
nikola avatar Dec 05 '10 20:12 nikola
Aceptado

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

Usé los comandos remove& de Brew cleanup, descargué el launchctlscript, luego eliminé el directorio mysql en /usr/local/var, eliminé el existente /etc/my.cnf(déjalo en tus manos, si corresponde) y lancéctl plist

Se actualizó 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

Luego comencé desde cero:

  1. instalado mysql conbrew install mysql
  2. ejecutó los comandos brew sugeridos: (ver nota: a continuación)

    unset TMPDIR
    
    mysql_install_db --verbose --user=`whoami` --basedir="$(brew --prefix mysql)" --datadir=/usr/local/var/mysql --tmpdir=/tmp
    
  3. Inicie mysql con mysql.server startel comando para poder iniciar sesión

  4. Usó el script de seguridad alternativo:

    /usr/local/Cellar/mysql/5.5.10/bin/mysql_secure_installation
    
  5. Seguí la launchctlsección del resultado del script del paquete de preparación, como por ejemplo,

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

Nota: la --forcebroca brew cleanuptambién limpiará barriles obsoletos, creo que es una característica nueva de cerveza casera.

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

Lorin Rivers avatar Jun 16 '2011 20:06 Lorin Rivers

Aquí hay instrucciones detalladas que combinan cómo deshacerse de todo MySQL de su Mac y luego instalarlo The Brew Way como escribió Sedorner anteriormente:

Elimine MySQL por completo según The Tech Lab

  • ps -ax | grep mysql
  • detener y killcualquier proceso 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
  • editar /etc/hostconfigy eliminar la líneaMYSQLCOM=-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*
  • intenta ejecutarlo mysql, no debería funcionar

Prepare MySQL por usuario Sedorner desde esta respuesta de StackOverflow

  • brew doctory corregir 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 # whoami is executed inline
    
  • mysql.server start

  • ejecute los comandos que sugiere Brew, agregue MySQL para launchctlque se inicie automáticamente al inicio

mysqlAhora debería funcionar y estar ejecutándose todo el tiempo como se esperaba.

Buena suerte.

corysimmons avatar Jan 07 '2014 22:01 corysimmons

Tuve el mismo problema. Parece que hay algún problema con las instrucciones de configuración o las tablas iniciales que se están creando. Así es como ejecuté 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 permite a cualquiera iniciar sesión con permisos completos.

mysqld_safe --skip-grant-tables

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

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

Ahora, si elimina la copia en ejecución de mysqld_safe y la inicia nuevamente sin la opción skip-grant-tables, debería poder iniciar sesión con mysql -u root -pla nueva contraseña que acaba de configurar.

Alistair McMillan avatar Jan 07 '2011 23:01 Alistair McMillan

cerveza casera

  1. Primero, asegúrese de tener instalado Homebrew.
  2. Ejecute brew doctory solucione cualquier cosa que Homebrew quiera que arregle.
  3. Correrbrew install mysql
  4. Correrbrew services restart mysql
  5. Corrermysql.server start
  6. Corrermysql_secure_installation
Vetrivel Chinnasamy avatar Oct 07 '2020 05:10 Vetrivel Chinnasamy

Si Brew instaló MySQL 5.7, el proceso es un poco diferente al de versiones anteriores. Para restablecer la contraseña de root, proceda de la siguiente manera:

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

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

mysql.server start
echo "ALTER USER 'root'@'localhost' IDENTIFIED BY 'my-new-password';" | mysql -uroot --password=TEMPORARY_PASSWORD
mrucci avatar Nov 25 '2015 19:11 mrucci