FAQ I Lost my password

From Dolibarr ERP CRM Wiki
Jump to navigation Jump to search

It may happen that you forget your password or that for an unknown reason it no longer works, here is the solution to regain control depending on the 3 types of passwords concerned.

Resetting MariaDB/MySQL database root password

This FAQ speak about a MySQL database administrator password problem and not about the lost of the password of a Dolibarr account used to work on Dolibarr.

With Microsoft Windows

  • Connect to a Windows administrator account on your computer,
  • Go on menu Windows:
   Menu Start -> parameters -> Setup panel -> Administration tools -> Services.
  • Find the service MySQL doliwampmysql into the list and stop it (we assume you installed DoliWamp. Name may differs if using a manuel installation of MySql).
  • Launch the command line command by going to
   Menu Start -> Execute -> cmd
  • Type the following lines to restart MySQL in a particular mode.
   CD C:\dolibarr\bin\mysql\mysql5.0.45\bin 
   C:\dolibarr\bin\mysql\mysql5.0.45\bin\mysqld-nt --skip-grant-tables
  • Launch another command line by going to
   Menu Start -> Execute -> cmd
  • Type in this new windows
   CD C:\dolibarr\bin\mysql\mysqlx.y.z\bin 
   C:\dolibarr\bin\mysql\mysqlx.y.z\bin\mysql -u root
  • At the MySQL prompt, type
mysql> UPDATE mysql.user SET Password = PASSWORD('anewpassword') WHERE User = 'root';
or on a more recent version
mysql> SET PASSWORD FOR 'root@localhost' = PASSWORD('anewpassword');

And to take change into account

mysql> FLUSH PRIVILEGES;
mysql> QUIT;
  • Type
   C:\dolibarr\bin\mysql\mysql5.0.45\bin\mysqladmin -u root -panewpassword shutdown
  • Restart Windows.

You should now be able to access your MySQL database, you can now tell to Dolibarr to use the new password.


Linux

  • Connect to a terminal console with user roor.
  • Stop Mysql:
   /usr/sbin/mysql stop
  • Type the following line to restart MySQL in a particular mode.
   /usr/sbin --skip-grant-tables
  • Launch another terminal console.
  • Type in this new windows


  • At the MySQL prompt, type
mysql> UPDATE mysql.user SET Password = PASSWORD('anewpassword') WHERE User = 'root';
or on a more recent version
mysql> SET PASSWORD FOR 'root@localhost' = PASSWORD('anewpassword');

Then validate the change with

mysql> FLUSH PRIVILEGES;
mysql> QUIT;
  • Type
   /usr/bin/mysqladmin -u root -panewpassword shutdown
  • Restart your server or only mysql server.

You should now be able to access your MySQL database, you can now tell to Dolibarr to use the new password.


Reset the password used by Dolibarr to access the database

  • Go into
   C:\dolibarr\www\dolibarr\htdocs\conf 
  • Edit file conf.php to change variable
   $dolibarr_main_db_pass

with value of the new password. The name of user is store into $dolibarr_main_db_user

  • Save file and quit. It should be ok.
  • Go into the MariaDB prompt from a terminal:
   With Linux:  /usr/bin/mysql -u root
   With Windows: Menu Start - > execute -> CMD then cd C:\dolibarr\bin\mysql\mysql5.0.45\bin\;  C:\dolibarr\bin\mysql\mysql5.0.45\bin\mysql -u root -ppassword
  • At the MySQL prompt, type
mysql> UPDATE mysql.user SET Password = PASSWORD('anewpassword') WHERE User = 'userusedfordolibarrdatabase';
or on a more recent version
mysql> SET PASSWORD FOR 'userusedfordolibarrdatabase@localhost' = PASSWORD('anewpassword');

The to take the change into account.

mysql> FLUSH PRIVILEGES;
mysql> QUIT;

Note that you may need to change the "localhot" with the ip of the server if the database is onto another server.


Resetting the password of a Dolibarr application user account

If you have another account to access the application and it is admin

Log in with it. Then go to the user's profile whose password you need to change. Modify the profile to force a new password.

If the lost password is that of the Dolibarr admin account

Log in to the Dolibarr mysql database and modify the "pass" field of the login with which you want to connect.

mysql> USE nomdelabaseolibar;
mysql> UPDATE llx_user SET pass = 'atemporarypasswod' WHERE login ='loginuserbloque';

Try to connect then modify your password from your user profile. This will clear the unencrypted temporary password in order to store your new encrypted password in this table.