Si tienes un Mac y has tenido la mala suerte de instalar un paquete de MySQL y luego no poder crear tablas ni acceder con permisos de root sobre la base de datos, aquí te dejo como hacer un reset al password de root en tu osx.
Lo primero que tendremos en cuenta es que no es un linux, por tanto si vienes de este otro sistema operativo, vas a encontrar algunas diferencias, entre ellas las rutas de instalación por defecto de MySQL. Aunque vamos a centrarnos en la versión 5 o superior de mysql, también voy a dejar la línea que difiere para versiones inferiores con lo que deberías no tener problema en cambiar la contraseña de mysql en cualquier versión.
Cambiar o resetear password de root en MySQL para Mac
Son unos sencillos pasos que vamos a llevar a cabo desde consola de comandos y que posiblemente nos obliguen a utilizar dos consolas.
- Parar mysql
El primer comando a ejecutar es necesario ya que vamos a cargar MySQL sin permisos de usuario, para así poder cambiar las tablas con cualquier usuario. Como es una medida temporal no te preocupes por la seguridad. Ejecutamos:sudo /Library/StartupItems/MySQLCOM/MySQLCOM stop
- Arrancar mysql sin permisos de usuarios
Ahora arrancaremos mysql pero en este caso vamos a omitir la tabla que indica los permisos que tiene cada usuario, con esto podremos ser capaces de modificar las tablas de mysql como si fuesemos root. Ejecutamos:sudo /usr/local/mysql/bin/mysqld_safe --skip-grant-tables
Si estamos usando una versión inferior a mysql5 deberemos usar esta otra línea:
/usr/local/mysql/bin/safe_mysqld --skip-grant-tables
- Entramos en mysql
Ejecutaremos el siguiente comando para entrar en mysql en modo consola:sudo /usr/local/mysql/bin/mysql
- Seleccionamos la base de datos
Como es necesario, vamos a seleccionar la base de datos donde está la tabla que queremos modificar con la siguiente línea:USE mysql;
- Cambiaremos la contraseña de root
Ahora una vez dentro de la base de datos mysql vamos a editar la contraseña de root en la tabla user con el siguiente comando:UPDATE user SET Password=PASSWORD('123456') WHERE Host='localhost' AND User='root';
Cambiaremos 123456 por la contraseña que queramos, lo ejecutaremos y después saldremos de mysql con
quit;
- Por último solo nos queda reiniciar mysql
Ejecutaremos el siguiente comando para reinciar mysql y debería dejarnos acceder como root y la contraseña que hayamos elegidosudo /Library/StartupItems/MySQLCOM/MySQLCOM restart
Son unos pasos bastante simples pero que si no conoces pueden llevarte a más de un quebradero de cabeza. De esta forma podrás modificar la contraseña root y poner la que prefieras tengas o no una puesta anteriormente y aunque la hayas olvidado.