Where can I tell if my Drupal 7 database is using InnoDB?
To find out which tables are InnoDB and MyISAM
COUNTS
SELECT ENGINE,COUNT(1) TableCount FROM information_schema.tables
WHERE table_schema NOT IN ('information_schema','mysql','performance_schema')
GROUP BY engine;

Since MyISAM is a non-transactional storage engine, it has no foreign key referential integrity to enforce. You could change all MyISAM tables to InnoDB, but with one exception: Before MySQL 5.6, FULLTEXT indexes are only available for MyISAM tables.
Here is how to find all tables using FULLTEXT indexes.
SELECT tbl.table_schema,tbl.table_name FROM
(
    SELECT table_schema,table_name
    FROM information_schema.tables
    WHERE engine='MyISAM' AND table_schema NOT IN
    ('information_schema','mysql','performance_schema')
) tbl
INNER JOIN
(
    SELECT table_schema,table_name
    FROM information_schema.statistics
    WHERE index_type='FULLTEXT'
) ndx
USING (table_schema,table_name);

If this comes back with no rows, you can convert all MyISAM tables to InnoDB without worry. If you have any tables with FULLTEXT indexes and you do not use them, you could drop the FULLTEXT indexes then convert the tables to InnoDB.
CONVERSION SCRIPTS
Here is a script to convert all MyISAM tables that do not have FULLTEXT indexes to InnoDB:
SQLSTMT=&quot;SELECT CONCAT('ALTER TABLE ',tbl.table_schema,'.',tbl.table_name,' ENGINE=InnoDB;')&quot;
SQLSTMT=&quot;${SQLSTMT} FROM (SELECT table_schema,table_name FROM information_schema.tables&quot;
SQLSTMT=&quot;${SQLSTMT} WHERE engine='MyISAM' AND table_schema NOT IN&quot;
SQLSTMT=&quot;${SQLSTMT} ('information_schema','mysql','performance_schema')) tbl&quot;
SQLSTMT=&quot;${SQLSTMT} INNER JOIN&quot;
SQLSTMT=&quot;${SQLSTMT} (SELECT table_schema,table_name FROM information_schema.statistics&quot;
SQLSTMT=&quot;${SQLSTMT} WHERE index_type='FULLTEXT') ndx USING (table_schema,table_name)&quot;
mysql -uroot -p -ANe&quot;${SQLSTMT}&quot; &gt; ConvertMyISAMToInnoDB.sql
mysql -uroot -p -A &lt; ConvertMyISAMToInnoDB.sql

If you know for a certainty that there are no FULLTEXT indexes in use, you can do this:
MYSQL_CONN=&quot;-uroot -prootpassword&quot;
SQLSTMT=&quot;SELECT CONCAT('ALTER TABLE ',table_schema,'.',&quot;
SQLSTMT=&quot;${SQLSTMT} table_name,' ENGINE=InnoDB;') InnoDBConversionSQL&quot;
SQLSTMT=&quot;${SQLSTMT} FROM information_schema.tables WHERE engine='MyISAM' AND&quot;
SQLSTMT=&quot;${SQLSTMT} table_schema NOT IN ('information_schema','mysql','performance_schema')&quot;
SQLSTMT=&quot;${SQLSTMT} ORDER BY (data_length+index_length)&quot;
MYSQL_OPTIONS=&quot;-AN&quot;
mysql ${MYSQL_CONN} ${MYSQL_OPTIONS} -e&quot;${SQLSTMT}&quot; &gt; ConvertMyISAMToInnoDB.sql
mysql ${MYSQL_CONN} ${MYSQL_OPTIONS} &lt; ConvertMyISAMToInnoDB.sql

I have suggested this in the past : How do I convert a database from MyISAM to InnoDB?
CAVEAT
Changing all tables to InnoDB will change the needs for MySQL's memory usage. Why?

MyISAM only caches indexes (via MyISAM .MYI files) into the key buffer. Data is never cached, but always reread from disk (via the .MYD of a MyISAM table) or OS caches
InnoDB caches data and index pages in the InnoDB Buffer Pool
You will have to compute and resize both the MyISAM key buffer and InnoDB Buffer Pool