mysql

No aconsegueixo modificar el password del msql i em dóna problemes. Alguna recepta més clara, perquè no me'n surto amb la que hi ha.
Potser el maquetat de la guia te algun que altre "typo", en principi les instruccions són correctes, de fet a la sessió d'aquest dijous passat ho varem comprovar.

usuari@ns1:~> echo "SET PASSWORD FOR 'root'@'localhost' = PASSWORD('el_nou_password');" > canvi_clau

La instrucció prèvia va tota en una sola línia.

usuari@ns1:~> su -
Password:
ns1:~ # /etc/init.d/mysql stop
Shutting down service mysqd                                                  done
ns1:~ # mysqld_safe --init-file=/home/usuari/canvi_clau &  [1] 15534
ns1:~ # Starting mysqld daemon with databases from /var/lib/mysql
 
ns1:~ # mysql -uroot -ppassword_nou
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2 to server version: 4.0.18
 
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
 
mysql> exit
Bye


Una altra possibilitat seria arrancar el server mysql amb:

ns1:~ # mysqld_safe --skip-grant-tables --user=root &

Loguejar-se al mysql amb.

ns1:~ # mysql -u root

I executar la següent instrucció.

mysql> UPDATE mysql.user SET Password=PASSWORD('password_nou') WHERE User='root';
mysql> FLUSH PRIVILEGES;


Un cop finalitzat reiniciar el servei mysql amb "normalitat".

Ja diràs ...
Aparentment faig tot el procés bé i no em dona errors, però després no em deixa entrar amb el seu password. Jo diria que hi ha alguna cosa de la configuració del servidor que dóna problemes.
Sospito que donat que un cop arrencat el server mysql com a root aquest redueix els seus privilegis, prova a ficar el fitxer canvi_clau en algun lloc que es pugui llegir sense problemes per l'usuari mysql, a /tmp per exemple i assegura't que abans d'arrencar-lo no estigui funcionant ja.

Del manual de mysql tens això.

http://dev.mysq…rmissions.html