ERROR 1031 (HY000): Table storage engine for 'proc' doesn't have this option
In MySQL 5.6, five(5) InnoDB tables were introduced to the mysql schema. I mentioned and described those tables in my 4-year-old answer to the post InnoDB: Error: Table &quot;mysql&quot;.&quot;innodb_table_stats&quot; not found after upgrade to mysql 5.6
For MySQL 5.7, it went to 19.
mysql&gt; select version();
+-----------+
| version() |
+-----------+
| 5.7.12    |
+-----------+
1 row in set (0.00 sec)

mysql&gt; select table_name from information_schema.tables
    -&gt; where table_schema='mysql' and engine='InnoDB';
+---------------------------+
| table_name                |
+---------------------------+
| engine_cost               |
| gtid_executed             |
| help_category             |
| help_keyword              |
| help_relation             |
| help_topic                |
| innodb_index_stats        |
| innodb_table_stats        |
| plugin                    |
| server_cost               |
| servers                   |
| slave_master_info         |
| slave_relay_log_info      |
| slave_worker_info         |
| time_zone                 |
| time_zone_leap_second     |
| time_zone_name            |
| time_zone_transition      |
| time_zone_transition_type |
+---------------------------+
19 rows in set (0.53 sec)

mysql&gt;

Please note the remaining mysql tables
mysql&gt; select table_name,engine from information_schema.tables
    -&gt; where table_schema='mysql' and engine &lt;&gt; 'InnoDB';
+------------------+--------+
| table_name       | engine |
+------------------+--------+
| columns_priv     | MyISAM |
| db               | MyISAM |
| event            | MyISAM |
| func             | MyISAM |
| general_log      | CSV    |
| ndb_binlog_index | MyISAM |
| proc             | MyISAM |
| procs_priv       | MyISAM |
| proxies_priv     | MyISAM |
| slow_log         | CSV    |
| tables_priv      | MyISAM |
| user             | MyISAM |
+------------------+--------+
12 rows in set (0.00 sec)

mysql&gt;

As shown, mysql.proc (where stored procedures and functions are stored) is supposed to remain as MyISAM. I have mentioned these table counts before (see the subheading &quot;CAVEAT FOR MySQL 5.6/5.7 users&quot; in my answer Will hacking away ibdata1 destroy databases with only MyISAM tables?)
LESSON HERE
You should never convert any table in the mysql schema into any storage engine. Changing them only made matters worse. The solution to this problem may  have been as simple as executing REPAIR TABLE mysql.proc;.