Hay varios métodos para cambiar la contraseña de un usuario en MySQL, pero este es el que me parece más seguro ya que no deja rastro de la contraseña antigua ni nueva en el historial de comandos (por lo menos en bash).

Primero, nos logueamos al shell de MySQL con el usuario principal:

$ mysql -u root -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 111
Server version: 5.0.75-0ubuntu10 (Ubuntu)

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql>

Escogemos la base de datos mysql:

use mysql;

Cambiamos los registros de la tabla user que almacenan la contraseña del usuario que queramos:

update user set password=PASSWORD("nuevacontraseña") where user='usuario';

Si quisieramos dejar al usuario con la contraseña en blanco, hacemos lo siguiente:

update user set password=NULL where user='usuario';

Limpiamos y volvemos a cargar los privelegios:

flush privileges;

Y salimos:

mysql> quit

Tags: , ,

El tipo de dato tinyint tiene una pequeña diferencia entre ambos motores de BD. Lo común es que siempre ocupa un (1) byte (28 valores posibles, osea, 256). Lo que difiere es que en MySQL se puede marcar como signed o unsigned, lo que hace que pueda o no tomar valores negativos. Cuando es signed, el rango de valores posibles va de -128 hasta 127, y en caso de unsigned, puede tomar desde 0 a 255.

En cambio, en SQL Server (por lo menos en las versiones 2005 y 2008) solo puede tomar valores positivos. Por ello, el rango que puede tomar es de 0 a 255.

Pueden ver la documentación de este tipo de dato aquí para SQL Server 2005 y aquí para MySQL.

Tags: , , , , ,