How can I restore my Chrome search engine list after beta killed it?

1

So I have loads of keyword sites (>100) built into Chrome (8.0.552.231) in what it calls search engines even though most are actually simple keyword links and only a few actually search anything. I know I can add or edit them by right clicking on the address bar and selecting “edit search engines”. Idiot that I am, I never bothered to find out where this list was actually stored or to back it up. Then I decided to try running a Chrome beta. In order (I thought) to protect my data, I ran the beta app (I’m on Mac OS X 10.6.5) without copying it over the stable version in the applications folder. To my surprise, it still had access to all my bookmarks and everything — but then when I relaunched the non-beta app, all my search engines (keywords) were gone! And they still are. Do I have any hope of recovering them?

While I’m on this topic, does anyone know why Chrome doesn’t just use keyword bookmarks like Firefox? That way, they’d be backed up with bookmarks and would be far easier to edit.

Philip

Posted 2010-12-17T17:12:14.890

Reputation: 1 103

Yeah, you were supposed to backup the Chrome profile before trying the beta, at least if you might ever want to go back. (No, I didn't do it either. But then again I haven't really wanted to go back...) – SamB – 2010-12-17T20:04:38.743

Answers

2

On OS X, Chrome keeps these in a sqlite database in:

/Users/username/Library/Application Support/Google/Chrome/Default/Web Data

This file is a SQLite database.

  1. Before you quit chrome, make a copy of this file
  2. Quit chrome
  3. OS X comes with a command line interface to sqlite -- sqlite3 or you can use a GUI tool such as sqlitebrowser to look at what's in here.
  4. Look for the keywords table. Cross your fingers that what you want is there.

If your keywords aren't in there, look for backups of this file or different Chrome profiles

Doug Harris

Posted 2010-12-17T17:12:14.890

Reputation: 23 578

Why does he want to copy before quiting? – SamB – 2010-12-17T20:06:22.267

1I'm not sure how Chrome handles saving to the file. If it maintains keywords in memory while the process is running and only writes to the file when Chrome quits, then he has a better chance of saving the old data by copying the file before quitting. – Doug Harris – 2010-12-17T20:55:39.073

OK this worked beautifully; I can see all my old keywords--thanks! But: Chrome still does not recognize them. Do you know how I can re-activate them without manually adding each one with the edit search engine list? All the data is there in the keywords table and looks legitimate / not corrupt. Thanks! – Philip – 2010-12-20T13:13:18.240

1I got mine back by manually adding them -- but I only had about five to re-enter. That's not realistic with >100. The first approach that I would take would be to extract the data and create a SQL script with a bunch of insert statements, but if you're not comfortable with SQL that may not be an option for you. Another option would be to google for tools which can do bulk SQLite updates using either SQL output or a CSV file. Make sure that Chrome isn't running when you run the update though. – Doug Harris – 2010-12-20T14:00:58.327

I'm a little confused--the actual web data db that Chrome should be reading already has these entries in the database; how would adding them again change anything if it's already not reading them? Thanks. – Philip – 2010-12-25T01:58:13.970

1My hypothesis is that Chrome reads this at startup and puts much of this data (or all) into memory. So, you alter this while Chrome isn't running, then when Chrome starts again, it re-reads the new version with the new keywords and you're set. – Doug Harris – 2010-12-25T03:57:24.090

OK two things: 1. I still don't understand how changing the database should make a difference. When I restart Chrome, it will read whatever is there. Right now, what's there is a bunch of keywords that it's not reading. When I add more keywords, how will it "tell the difference" and decide to read the new ones? 2. But despite my lack of understanding (for which I am sorry!), I tried this anyway and it still didn't work. In fact, even when I manually add a search engine by right-clicking etc., it's gone upon restart. Perhaps I have more serious problems than I realized? Thanks for your help! – Philip – 2010-12-26T13:41:01.313

After reinstalling Chrome, I can now successfully edit search engines. I think I can solve the problem if I can just import a csv into the an SQL table successfully, but I can't get it to import empty fields as empty string instead of null so I'll ask about that elsewhere. Thanks for your help! – Philip – 2010-12-28T14:05:06.070