How can I Search for a string in all fields across all tables of a MySQL database?
This is a grueling problem and I have grueling suggestions
SUGGESTION #1: Use information_schema
See my old posts on how to go about doing this

Jul 19, 2012 : Query to find and replace text in all tables and fields of a mysql db
Mar 19, 2013 : How to search whole MySQL database for a particular string

SUGGESTION #2: Use mysqldump
You should be able to hunt down the string using mysqldump
Let's say the string you are looking for is 'Hello, World'
You can mysqldump all user-defined databases into a text file and grep the text file:
STRTOFIND=&quot;Hello, World&quot;
DUMPFILE=mysqldump_to_search.sql
SRCHFILE=Search_Resutls.txt
MYSQL_USER=root
MYSQL_PASS=rootpassword
MYSQL_CONN=&quot;-u${MYSQL_USER} -p${MYSQL_PASS}&quot;
SQL=&quot;SET group_concat_max_len = 1048576;&quot;
SQL=&quot;${SQL} SELECT GROUP_CONCAT(schema_name SEPARATOR ' ')&quot;
SQL=&quot;${SQL} FROM information_schema.schemata WHERE schema_name NOT IN&quot;
SQL=&quot;${SQL} ('information_schema','performance_schema','mysql')&quot;
DBLIST=`mysql ${MYSQL_CONN} -ANe&quot;${SQL}&quot;`
MYSQLDUMP_OPTIONS=&quot;--single-transaction --routines --triggers -B ${DBLIST}&quot;
mysqldump ${MYSQL_CONN} -A ${MYSQLDUMP_OPTIONS} &gt; ${DUMPFILE}
grep -n &quot;${STRTOFIND}&quot; ${DUMPFILE} &gt; ${SRCHFILE}

The search results file will not only have the line the string is located, but also the linenumber within the dump file.
GIVE IT A TRY !!!