por - Configuración de la contraseña del usuario root de MySQL en OS X
contraseña root mysql por defecto (16)
Acabo de instalar MySQL en Mac OS X. El siguiente paso fue establecer la contraseña del usuario root, así que hice lo siguiente:
- Inicie la aplicación de terminal para acceder a la línea de comandos de Unix.
Bajo el indicador de Unix ejecuté estos comandos:
$ cd /usr/local/mysql/bin $ ./mysqladmin -u root password ''password''
Pero, cuando ejecuto el comando
$ ./mysql -u root
, esta es la respuesta:
Welcome to the MySQL monitor. Commands end with ; or /g.
Your MySQL connection id is 224
Server version: 5.5.13 MySQL Community Server (GPL)
Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type ''help;'' or ''/h'' for help. Type ''/c'' to clear the current input statement.
mysql>
¡Puedo entrar en la línea de comandos de mysql
sin ninguna contraseña!
¿Por qué es esto?
Detener el servidor MySQL
sudo /usr/local/mysql/support-files/mysql.server stop
Iniciar MySQL en modo seguro
sudo /usr/local/mysql/bin/mysqld_safe --skip-grant-tables &
Cambiando la contraseña de root
/usr/local/mysql/bin/mysql -u root
use mysql;
UPDATE user SET authentication_string=PASSWORD(''NEW_PASSWORD'') WHERE user=''root'';
FLUSH PRIVILEGES;
exit
Pruebas
Ejecute /usr/local/mysql/bin/mysql -u root
Ahora ingrese la nueva contraseña para comenzar a usar MySQL.
Detenga el servidor mysqld.
- Mac OSX:
System Preferences
>MySQL
>Stop MySQL Server
- Linux (desde la terminal):
sudo systemctl stop mysqld.service
- Mac OSX:
Inicie el servidor en modo seguro con privilegio de omisión
- Desde la Terminal:
sudo /usr/local/mysql/bin/mysqld_safe --skip-grant-tables
- Desde la Terminal:
En una nueva ventana de terminal:
-
sudo /usr/local/mysql/bin/mysql -u root
-
Esto abrirá la línea de comando mysql. Desde aquí introduzca:
UPDATE mysql.user SET authentication_string=PASSWORD(''NewPassword'') WHERE User=''root'';
FLUSH PRIVILEGES;
quit
Detenga el servidor mysqld nuevamente y reinícielo en modo normal.
- Mac OSX (desde la terminal):
sudo /usr/local/mysql/support-files/mysql.server restart
- Terminal de Linux:
sudo systemctl restart mysqld
- Mac OSX (desde la terminal):
Creo que esto debería funcionar :
ALTER USER ''root''@''localhost'' IDENTIFIED BY ''YOURNEWPASSWORD''
(Tenga en cuenta que probablemente debería reemplazar la raíz con su nombre de usuario si no es la raíz)
Cuando instalé OS X Yosemite, tuve un problema con Mysql. Probé muchos métodos pero ninguno funcionó. En realidad encontré una manera bastante fácil. Probar esto.
- Primero inicie sesión en terminal desde su privilegios.
sudo su
- deja de mysql
sudo /usr/local/mysql/support-files/mysql.server stop
- iniciar en modo seguro:
sudo mysqld_safe --skip-grant-tables
- abra otra terminal, inicie sesión como su privilegios que, inicie sesión en mysql sin contraseña
mysql -u root
- cambiar la contraseña
UPDATE mysql.user SET Password=PASSWORD(''new_password'') WHERE User=''root'';
- privilegios de descarga
FLUSH PRIVILEGES;
- Has terminado ahora
En el terminal, escriba mysql -u root -p
y presione Retorno. Ingrese la contraseña mysql actual que debe haber anotado. Y establezca la contraseña SET PASSWORD = PASSWORD(''new_password'');
Consulte esta documentación here para obtener más detalles.
Esto es exactamente lo que funcionó para mí:
Asegúrese de que no se esté ejecutando ningún otro proceso MySQL. Para verificar esto, haga lo siguiente:
a.From the terminal, run this command: lsof -i:3306 If any PID is returned, kill it using kill -9 PID b. Go To System Preferences > MySQL > check if any MySQL instances are running, stop them.
Inicie MySQL con el comando:
sudo /usr/local/mysql/bin/mysqld_safe --skip-grant-tables
La contraseña para cada usuario se almacena en la tabla mysql.user bajo las columnas User y authentication_string respectivamente. Podemos actualizar la tabla como:
UPDATE mysql.user SET authentication_string=''your_password'' where User=''root''
Las instrucciones proporcionadas en el sitio web de mysql son tan claras como lo mencionado anteriormente.
-
$ sudo /usr/local/mysql/support-files/mysql.server stop
-
$ sudo /usr/local/mysql/support-files/mysql.server start --skip-grant-tables
-
/usr/local/mysql/support-files/mysql
- mysql> PRIVILEGIOS DE LAVADO;
- mysql> ALTER USER ''root'' @ ''localhost'' IDENTIFICADO POR ''MyNewPass'';
- mysql>
exit
o Ctrl + z $ sudo /usr/local/mysql/support-files/mysql.server start
/usr/local/mysql/support-files/mysql -u root -p
- Ingrese la nueva contraseña, es decir, MyNewPass
Referencia: http://dev.mysql.com/doc/refman/5.7/en/resetting-permissions.html
Los métodos mencionados en las respuestas existentes no funcionan para mysql 5.7.6 o posterior. Según la documentación de mysql esta es la forma recomendada.
B.5.3.2.3 Restablecimiento de la contraseña de root: Instrucciones genéricas
MySQL 5.7.6 y posteriores:
mysql> ALTER USER ''root''@''localhost'' IDENTIFIED BY ''MyNewPass'';
Referencia: https://dev.mysql.com/doc/refman/5.7/en/resetting-permissions.html
Mucho ha cambiado para MySQL 8. He encontrado que la siguiente modificación de la documentación de MySQL 8.0 "Cómo restablecer la contraseña de root" funciona con Mac OS X.
Cree un archivo temporal $HOME/mysql.root.txt
con el SQL para actualizar la contraseña de root:
ALTER USER ''root''@''localhost'' IDENTIFIED WITH mysql_native_password BY ''<new-password>'';
Esto usa mysql_native_password
para evitar que el complemento de autenticación ''caching_sha2_password'' no se pueda cargar con el error, que obtengo si omito la opción.
Detenga el servidor, comience con una opción --init-file
para establecer la contraseña de root, luego reinicie el servidor:
mysql.server stop mysql.server start --init-file=$HOME/mysql.root.txt mysql.server stop mysql.server start
Para el nuevo Mysql 5.7, por alguna razón, los comandos bin de Mysql no están adjuntos al shell:
Reinicie la Mac después de la instalación.
Iniciar Mysql:
Preferencias del sistema> Mysql> botón de inicio
Ir a la carpeta de instalación Mysql en la terminal:
$ cd /usr/local/mysql/bin/
Acceso a Mysql:
$ ./mysql -u root -p
e ingrese la contraseña inicial dada a la instalación.
En la contraseña de cambio de terminal Mysql:
mysql> ALTER USER ''root''@''localhost'' IDENTIFIED BY ''MyNewPassword'';
Pruebe el comando FLUSH PRIVILEGES
cuando inicie sesión en el terminal MySQL. Si eso no funciona, intente el siguiente conjunto de comandos mientras está en el terminal MySQL
$ mysql -u root
mysql> USE mysql;
mysql> UPDATE user SET password=PASSWORD("NEWPASSWORD") WHERE User=''root'';
mysql> FLUSH PRIVILEGES;
mysql> quit
Cambia NEWPASSWORD con la contraseña que quieras. ¡Debería estar todo listo!
Actualización : a partir de MySQL 5.7, el campo de password
ha sido renombrado authentication_string
. Al cambiar la contraseña, use la siguiente consulta para cambiar la contraseña. Todos los demás comandos siguen siendo los mismos:
mysql> UPDATE user SET authentication_string=PASSWORD("NEWPASSWORD") WHERE User=''root'';
Si no puede recordar su contraseña, la respuesta de @ radtek funcionó para mí, excepto en mi caso, había configurado MySQL usando brew, lo que significaba que los pasos 1 y 2 de su respuesta debían cambiarse a:
/usr/local/bin/mysql.server stop
/usr/local/bin/mysqld_safe --skip-grant-tables
Nota: la falta de sudo
.
Si no recuerda la contraseña que estableció para la raíz y necesita restablecerla, siga estos pasos:
- Detenga el servidor mysqld, esto varía por instalación
- Ejecute el servidor en modo seguro con privilegio de omisión
sudo mysqld_safe --skip-grant-tables;
- En una nueva ventana, conéctese a la base de datos, establezca una nueva contraseña y elimine los permisos y salga:
mysql -u root
Para MySQL anteriores a MySQL 5.7 use:
UPDATE mysql.user SET Password=PASSWORD(''your-password'') WHERE User=''root'';
Para MySQL 5.7+ use:
USE mysql;
UPDATE mysql.user SET authentication_string=PASSWORD("your-password") WHERE User=''root'';
Actualizar y salir
FLUSH PRIVILEGES;
/q
- Detenga el servidor de modo seguro y vuelva a iniciar su servidor normal. La nueva contraseña debería funcionar ahora. Trabajó como un encanto para mí :)
Si olvidó la contraseña de root de MySQL, no puede recordar o quiere ingresar ... puede restablecer la contraseña de la base de datos mysql desde la línea de comandos en Linux o OS X, siempre que conozca la contraseña de usuario root de la casilla. usted está en:
(1) Detener MySQL
sudo /usr/local/mysql/support-files/mysql.server stop
(2) Comience en modo seguro:
sudo mysqld_safe --skip-grant-tables
(3) Este será un comando continuo hasta que el proceso finalice, así que abra otra ventana de shell / terminal , inicie sesión sin una contraseña:
mysql -u root
UPDATE mysql.user SET Password=PASSWORD(''password'') WHERE User=''root'';
En el comando ACTUALIZAR anterior simplemente reemplace la ''contraseña'' con su propia contraseña nueva, asegúrese de mantener las comillas
(4) Guardar y bastante
FLUSH PRIVILEGES;
/q
(5) Iniciar MySQL
sudo /usr/local/mysql/support-files/mysql.server start
Si olvidó su contraseña o desea cambiarla a su mysql:
- inicia tu terminal y escribe:
sudo su
- Ingrese el pase para su sistema
- Deja tu mysql
sudo /usr/local/mysql/support-files/mysql.server stop
- Deje esta ventana ABIERTA, ejecute la segunda ventana de terminal y entre aquí:
mysql -u root
- Y cambia tu contraseña para mysql:
UPDATE mysql.user SET authentication_string=PASSWORD(''new_password'') WHERE User=''root'';
donde "new_password" - su nuevo pase. No necesitas un pase viejo para mysql.
- Enjuague, abandone y revise su nuevo pase:
FLUSH PRIVILEGES;
- Cierre todas las ventanas y verifique su nuevo pase para mysql. Buena suerte.
Una vez que hayas instalado MySQL, deberás establecer la contraseña "root". Si no establece una contraseña de root, entonces, bueno, no hay una contraseña de root y no necesita una contraseña para iniciar sesión.
Entonces, dicho esto, necesitas establecer una contraseña de root.
Usando el terminal ingrese lo siguiente:
Instalación: Establecer contraseña de usuario root:
/usr/local/mysql/bin/mysqladmin -u root password NEW_PASSWORD_HERE
Si ha cometido un error, o necesita cambiar la contraseña de root, use lo siguiente:
Cambiar contraseña de root:
cd /usr/local/mysql/bin/
./mysql -u root -p
> Enter password: [type old password invisibly]
use mysql;
update user set password=PASSWORD("NEW_PASSWORD_HERE") where User=''root'';
flush privileges;
quit