¶ Excerpt
This guide explains how to change your Odoo Admin Password from the graphical interface, as well as using the command line of your Linux server.
sudo su odoo
After that, activate a virtual environment that Odoo is using (basically, we will be able to access the same modules as Odoo):
pyenv activate odoo
Enter the Python shell:
python3
Import the necessary hashing module:
from passlib.context import CryptContext
Encrypt the new password using the PBKDF2 SHA512 scheme and show the result:
print(CryptContext(schemes=['pbkdf2_sha512']).encrypt('your_new_password'))
Note: change your_new_password to whatever you want your new password to be. The value should remain wrapped in single quotation marks.
You should see a long string of text that looks similar to this one:
$pbkdf2-sha512$10001$0dr7v7eWUmptrfW.9z6HkA$w9j9AMVmKAP17OosCqDxDv2hjsvzlLpF8Rra8I7p/b5746rghZ8WrgEjDpvXG5hLz1UeNLzgFa81Dr/bx.2b7hg
Copy (or write down) your unique text string. You will need it later.
When you’re done, exit the Python shell.
exit()
Connect to the PostgreSQL (Odoo’s database) shell to modify the database.
psql
If you don’t remember the name of your Odoo database (you set it when you created your Admin user), use the following command to list all the databases and accociated users.
\l
Search for the odoo user and the associated database name. The latter is the name you need.
Once you know the database name, connect to the Odoo database:
\c test
Note: change test to the actual name of your Odoo database.
Now we need to change the password of the Admin user. If you don’t remember the user’s email value (which is used as the login), execute the following command to get a list of all user logins.
select login from res_users;
Find your email in that list.
Finally, change the password value of the Admin user to the newly generated one:
update res_users set password = 'new_hashed_password' where login = 'your@email.com';
Note: change your@email.com to your actual email value. Change new_hashed_password to that long string of text that you copied/wrote down earlier. Both values should remain wrapped in single quotation marks.
Exit the database:
\q