Cambiar la clave de root en mysql
Muchas distros de Linux tienen una opcion para instalar MySQL. En este caso, o aunque compilen MySQL la clave por defecto esta en blanco (NA: en ubuntu no). MySQL puede tambien correr en entornos windows. Cuando instalan MySQL, asegurense de establecer una clave para el usuario root. Una de las formas de hacer esto es:root@u-1:/home/u-1# mysql -u root mysql
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Welcome to the MySQL monitor. Commands end with ; or g.
Your MySQL connection id is 1 to server version: 3.23.47
Type 'help;' or 'h' for help. Type 'c' to clear the buffer.
mysql> SET PASSWORD FOR root@localhost=PASSWORD('rubberchicken');
Query OK, 0 rows affected (0.06 sec)
mysql>
En el ejemplo anterior, establecimos la clave del usuario root a rubberchicken. Ahora al intentar ingresas sin el -p (para que solicite contraseña) se nos denegará el acceso:
root@u-1:/home/u-1# mysql -u root mysql
ERROR 1045: Access denied for user: 'root@localhost' (Using password: NO)
Por lo que deberemos ingresar suministrando la clave o solo agregando el -p para que sea de modo interactivo.
root@u-1:/home/u-1# mysql -u root -p mysql
Enter password:
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Welcome to the MySQL monitor. Commands end with ; or g.
Your MySQL connection id is 3 to server version: 3.23.47
Type 'help;' or 'h' for help. Type 'c' to clear the buffer.
mysql>
Para reiniciar una clave de root que fue olvidada (reemplazar los path por los de tu distro):
[root@host root]# killall mysqld
[root@host root]# /usr/libexec/mysqld -Sg --user=root &
Si lo anterior no funciona proba con lo siguiente: mysqld --skip-grant-tables --user=root
Ahora volvemos a cargar el cliente mysql:
[root@host root]# mysql
Welcome to the MySQL monitor. Commands end with ; or g.
Your MySQL connection id is 1 to server version: 3.23.41
Type 'help;' or 'h' for help. Type 'c' to clear the buffer.
mysql> USE mysql
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
mysql> UPDATE user
-> SET password=password("newpassword")
-> WHERE user="root";
Query OK, 2 rows affected (0.04 sec)
Rows matched: 2 Changed: 2 Warnings: 0
mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec)
mysql> exit;
[root@host root]#killall mysqld
Reiniciar el servidor MySQL de forma normal:
/etc/init.d/mysqld start

No hay comentarios.:
Publicar un comentario