Acabo de instalar MySQL en Mac OS X. El siguiente paso era establecer la contraseña del usuario root, así que lo hice a continuación:
Inicie la aplicación de terminal para acceder a la línea de comandos de Unix.
Bajo el prompt 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 mysql
sin ninguna contraseña!
¿Por qué es esto?
Pruebe el comando FLUSH PRIVILEGES
cuando entre en la terminal de MySQL. Si eso no funciona, pruebe el siguiente conjunto de comandos mientras está en la terminal de MySQL
$ mysql -u root
mysql> USE mysql;
mysql> UPDATE user SET password=PASSWORD("NEWPASSWORD") WHERE User='root';
mysql> FLUSH PRIVILEGES;
mysql> quit
Cambia NEWPASSWORD por la contraseña que quieras. Debería estar todo listo.
Actualización: A partir de MySQL 5.7, el campo password
ha sido renombrado como authentication_string
. Cuando cambie la contraseña, utilice 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';
Actualización: En la versión 8.0.15 (quizás ya antes de esa versión) la función PASSWORD() no funciona, como se menciona en los comentarios de abajo. Tienes que usar:
UPDATE mysql.user SET authentication_string='password' WHERE User='root';
.
Si no recuerdas la contraseña que estableciste para el root y necesitas restablecerla, sigue estos pasos:
sudo mysqld_safe --skip-grant-tables;
mysql -u root
Para MySQL anterior a MySQL 5.7 utilice:
UPDATE mysql.user SET Password=PASSWORD('su-contraseña') WHERE User='root';
.
Para MySQL 5.7+ utilice:
USE mysql;
UPDATE mysql.user SET authentication_string=PASSWORD("su-contraseña") WHERE User='root';
Actualice y salga:
FLUSH PRIVILEGES;
\q
Una vez que haya instalado MySQL, tendrá que establecer la contraseña de "root". Si no establece una contraseña de root, entonces, bueno, no hay contraseña de root, y no necesita una contraseña para iniciar sesión.
Así que, dicho esto, tienes que establecer una contraseña de root.
Usando el terminal ingrese lo siguiente:
/usr/local/mysql/bin/mysqladmin -u root password NEW_PASSWORD_HERE
Si te has equivocado, o necesitas cambiar la contraseña de root utiliza lo siguiente:
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