FAQ I Lost my password
You may have forget your MariaDB or MySQL database password, or, for an unknown reason, it does not works anymore. This is a solution to restore this.
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
If you lost the root password of MariaDB/MySql
- 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\mysql5.0.45\bin C:\dolibarr\bin\mysql\mysql5.0.45\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.
Change the user used by Dolibarr to connect to 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 in Windows menu
Menu Start - > execute -> CMD 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.
Linux
If you lost the root password of Mysql or MariaB
- 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
/usr/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');
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.
Change the user used by Dolibarr to connect to the database
- Go into
htdocs\conf
- Edit file conf.php to change variable
$dolibarr_main_db_pass
with value of the new password. Note that the database user used to connect to the database is defined into $dolibarr_main_db_user.
- Save file and quit. It should be ok.
If Dolibarr use another MySQL user than root,
- Ru mysql with root user
/usr/bin/mysql -u root -ppassword
- At the MySQL prompt, type
mysql> UPDATE mysql.user SET Password = PASSWORD('anewpassword') WHERE User = 'dolibarruserofdatabase';
or on a more recent version
mysql> SET PASSWORD FOR 'dolibarruserofdatabase@localhost' = PASSWORD('passfordolibarruserofdatabase');
And to take the change into account
mysql> FLUSH PRIVILEGES;
mysql> QUIT;