Upgrading mysql myisam 5.1 to mysql 5.6: force innodb on restore?
I am going to answer based on option #3.
You can dump all databases except the following:

information_schema
performance_schema
mysql

You should dump it like this:
MYSQL_USER=root
MYSQL_PASS=rootpassword
MYSQL_CONN=&quot;-u${MYSQL_USER} -p${MYSQL_PASS}&quot;
SQL=&quot;select group_concat(schema_name) from information_schema.schemata&quot;
SQL=&quot;${SQL} where schema_name not in ('information_schema','mysql','performance_schema')&quot;
DBLIST=`mysql -ANe&quot;${SQL}&quot; | sed 's/,/ /g'`
mysqldump --databases ${DBLIST} | sed 's/ENGINE=MyISAM/ENGINE=InnoDB/g'  &gt; AllMyData.sql

You can just load that and you are all set.
If you want to move the MySQL Users and Passwords, do this:
MYSQL_CONN=&quot;-uroot -ppassword&quot;
SQLSTMT=&quot;SELECT CONCAT('SHOW GRANTS FOR ',&quot;
SQLSTMT=&quot;${SQLSTMT} QUOTE(user),'@',QUOTE(host),';') &quot;
SQLSTMT=&quot;${SQLSTMT} FROM mysql.user WHERE user&lt;&gt;''&quot;
mysql ${MYSQL_CONN} -ANe&quot;${SQLSTMT}&quot; &gt; GetGrants.sql
echo &quot;SET sql_log_bin = 0;&quot; &gt; MySQLUserGrants.sql
mysql ${MYSQL_CONN} -AN &lt; GetGrants.sql | sed 's/$/;/g' &gt;&gt; MySQLUserGrants.sql
rm -f GetGrants.sql

Then, just import MySQLUserGrants.sql into the MySQL 5.6 instance.
Give it a Try !!!