insert in Mysql innodb table extremely slow I can get 2 million inserts per minute on myisam table, but only 3000 insert per minute if I change to innodb

CREATE TABLE myisam_table ( c1 int default NULL, c2 varchar(30) default NULL, c3 date default NULL) engine=myisam;
CREATE TABLE innodb_table ( c1 int default NULL, c2 varchar(30) default NULL, c3 date default NULL) engine=innodb;

CREATE PROCEDURE load_myisam_table()  
       begin  
    declare v int default 0;  
    while v &lt; 10000000  
    do  
        insert into myisam_table  
        values (v,'testing','2017-01-01');  
         set v = v + 1;  
    end while;  
    end  


CREATE PROCEDURE load_innodb_table()  
       begin  
    declare v int default 0;  
    while v &lt; 10000000  
    do  
        insert into innodb_table  
        values (v,'testing','2017-01-01');  
         set v = v + 1;  
    end while;  
    end  


And result:

mysql -e "select count(*) from asdf.innodb_table;" ; sleep 60;mysql -e "select count(*) from asdf.innodb_table;" ;
+----------+
| count(*) |
+----------+
|      125 |
+----------+
+----------+
| count(*) |
+----------+
|     2975 |
+----------+
mysql -e "select count(*) from asdf.myisam_table;" ; sleep 60;mysql -e "select count(*) from asdf.myisam_table;" ;
+----------+                                                                                     
| count(*) |                                                                                     
+----------+
|   134446 |
+----------+
+----------+
| count(*) |
+----------+
|  2225277 |
+----------+
Running insert/update queries on an InnoDB table is significantly slower when no transaction is started. I've run the procedures you listed and the result was that load_innodb_table was actually faster than load_myisam_table. 
Running load_innodb_table with 10m inserts actually means that you're running 10m transactions, as every insert implicitly starts a transaction.