![Firefox logo](https://assets-prod.sumo.prod.webservices.mozgcp.net/media/uploads/products/2020-04-14-08-36-13-8dda6f.png)
Migrate site and master passwords and logins from Firefox to Light
In order to speed up my USB portable browser, I want to migrate from Firefox v.30 to Light v.30. Only now I noticed I still have key3.db instead of key4.db and cert8.db instead of cert9.db in Firefox profile. https://support.mozilla.org/en-US/kb/Recovering%20important%20data%20from%20an%20old%20profile#w_your-important-data-and-their-files doesn't specify how to upgrade those versions, nor some other replies, for example https://support.mozilla.org/en-US/questions/767061.
Copying of key3.db, signons.sqlite between profiles didn't help to get my passwords nor my master password in Light. Any thoughts why? Because I have key3.db instead of key4.db or because I use master password?
被采纳的解决方案
Note that you can use a CMD or BAT file to set an environment variable temporarily for only that start.
set NSS_DEFAULT_DB_TYPE=sql start "" "path to Firefox\firefox.exe" -P
I notice that the SQLite files are considerably larger because Firefox likely uses an minimum size to prevent issues with fragmentation like is done with all SQLite files.
Note that Firefox is actually dropping a lot of SQLite files and replace them with JSON type files (extensions.json, addons.json, search.json, logins.json) to prevent issues that SQLite gives in some cases and make it easier to keep the database in memory to boost the performance.
定位到答案原位置 👍 1所有回复 (8)
I received a reply that current Firefox versions still use signons.sqlite and key3.db to store the names and passwords and cert8.db for the certificates. Only Firefox 32 and later will use logins.json instead of signons.sqlite. Well, obviously Light is using them already.
I would assume that Light still uses the signons.sqlite and key3.db files and will probably pick up a Firefox profile automatically unless you would have created a new profile and use the -P "profile" command line switch to start with this profile.
You can use this button to go to the currently used Firefox profile folder:
- Help > Troubleshooting Information > Profile Directory: Show Folder (Linux: Open Directory; Mac: Show in Finder)
I received this reply which explains the issue:
Light use sql as nss database, so the files are key4.db and cert9.db rather than key3.db and cert8.db. Light don't support migration from key3.db to key4.db, but firefox do have the ability. you need set environment variable NSS_DEFAULT_DB_TYPE to value "sql", then open firefox. the migration is automatic. you will find key4.db in the profile folder.
As for logins.json, light has the ability of automatic migration. But you may need delete the logins.json file before copying the key4.db and signons.sqite files.
Were you able to fix it with these directions?
I see that one disadvantage of the Light version is that they also removed the spell checker.
I'm looking for a way to set environment variable NSS_DEFAULT_DB_TYPE in my Portable Firefox.
Environment variable NSS_DEFAULT_DB_TYPE is Windows environment variable. After setting it, Firefox 30 created key4.db and cert9.db. In the end, I wasn't able to fix the transfer. Even if I deleted the logins.json file in Light profile before copying the key4.db and signons.sqite files from Firefox profile, I didn't get new logins.json and saved passwords didn't appear.
After resetting signon.importedFromSqlite in about:config in Light 31, I got my passwords. Firefox 30 still doesn't have this.
选择的解决方案
Note that you can use a CMD or BAT file to set an environment variable temporarily for only that start.
set NSS_DEFAULT_DB_TYPE=sql start "" "path to Firefox\firefox.exe" -P
I notice that the SQLite files are considerably larger because Firefox likely uses an minimum size to prevent issues with fragmentation like is done with all SQLite files.
Note that Firefox is actually dropping a lot of SQLite files and replace them with JSON type files (extensions.json, addons.json, search.json, logins.json) to prevent issues that SQLite gives in some cases and make it easier to keep the database in memory to boost the performance.
由cor-el于