错误:Mysql数据库没有';不支持事务
嗨,我有一个InnoDB,它有一个支持事务的默认数据库。 但当我运行用于Mysql sql基准测试的事务脚本时,我得到以下错误:错误:Mysql数据库没有';不支持事务,mysql,database,benchmarking,workbench,Mysql,Database,Benchmarking,Workbench,嗨,我有一个InnoDB,它有一个支持事务的默认数据库。 但当我运行用于Mysql sql基准测试的事务脚本时,我得到以下错误: Testing server 'MySQL 5.5.29 0ubuntu0.12.10.1' at 2013-02-11 11:32:28 Test skipped because the database doesn't support transactions 展示引擎 +--------------------+---------+-------------
Testing server 'MySQL 5.5.29 0ubuntu0.12.10.1' at 2013-02-11 11:32:28
Test skipped because the database doesn't support transactions
展示引擎
+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+
| Engine | Support | Comment | Transactions | XA | Savepoints |
+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+
| PERFORMANCE_SCHEMA | YES | Performance Schema | NO | NO | NO |
| MRG_MYISAM | YES | Collection of identical MyISAM tables | NO | NO | NO |
| MEMORY | YES | Hash based, stored in memory, useful for temporary tables | NO | NO | NO |
| BLACKHOLE | YES | /dev/null storage engine (anything you write to it disappears) | NO | NO | NO |
| MyISAM | YES | MyISAM storage engine | NO | NO | NO |
| CSV | YES | CSV storage engine | NO | NO | NO |
| ARCHIVE | YES | Archive storage engine | NO | NO | NO |
| FEDERATED | NO | Federated MySQL storage engine | NULL | NULL | NULL |
| InnoDB | DEFAULT | Supports transactions, row-level locking, and foreign keys | YES | YES | YES |
+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+
我已编辑my.cnf添加默认引擎Innodb。但还是没有运气
perl脚本是Mysql Sql中的“测试事务”
###
### Test insert perfomance
###
test_insert("bench1","insert_commit",0);
test_insert("bench2","insert_autocommit",1);
sub test_insert
{
my ($table, $test_name, $auto_commit)= @_;
my ($loop_time,$end_time,$id,$rev_id,$grp,$region);
$dbh->{AutoCommit}= $auto_commit;
$loop_time=new Benchmark;
for ($id=0,$rev_id=$opt_loop_count-1 ; $id < $opt_loop_count ;
$id++,$rev_id--)
{
$grp=$id/$opt_groups;
$region=chr(65+$id%$opt_groups);
do_query($dbh,"insert into $table values ($id,$rev_id,'$region',$grp,0)");
}
$dbh->commit if (!$auto_commit);
$end_time=new Benchmark;
print "Time for $test_name ($opt_loop_count): " .
timestr(timediff($end_time, $loop_time),"all") . "\n\n";
}
###
###测试插件性能
###
测试插入(“bench1”,“插入提交”,0);
测试插入(“试验台2”,“插入自动提交”,1);
子测试插件
{
我的($table、$test\u name、$auto\u commit)=@;
my($loop\u time,$end\u time,$id,$rev\u id,$grp,$region);
$dbh->{AutoCommit}=$auto_commit;
$loop_time=新基准;
对于($id=0,$rev_id=$opt_loop_count-1;$id<$opt_loop_count;
$id++,$rev_id--)
{
$grp=$id/$opt_组;
$region=chr(65+$id%$opt_组);
do_query($dbh,“插入$table值($id,$rev_id,$region',$grp,0)”);
}
$dbh->commit if(!$auto_commit);
$end_time=新基准;
打印“时间$test\u name($opt\u loop\u count):”。
timestr(timediff($end\u time,$loop\u time),“all”)。“\n\n”;
}
测试数据库是否设置为InnoDB引擎?是,它显示InnoDB。但仍然不确定失败的原因。这可能是权限问题吗?您是否连接到了正确的MySQL实例?请向我们展示脚本(放在这里或给我们提供外部链接)?