我下载并安装了MySQL 5.7.11的vanilla实例(这是我运行> mysql -v
时报告的版本)。该实例已启动并正在运行。
然后我尝试按照这里看似简单的教程: https://dev.mysql.com/doc/employee/en/employees-installation.html
当我到达要运行的步骤时:mysql -t < employees.sql
它失败了,给出错误:
ERROR 1193 (HY000) at line 38: Unknown system variable 'storage_engine'
employees.sql
文件按照教程中的说明使用默认设置进行配置。如何解决此错误?
注意:我在MySQL中执行root
的所有步骤,如果有任何影响,系统就是Win10。
答案 0 :(得分:10)
该教程尚未更新以反映最近MySQL版本的更改。来自documentation
此变量已弃用,已在MySQL 5.7.5中删除。请改用
default_storage_engine
。
答案 1 :(得分:4)
如果有人在没有找到更新档案的情况下想知道修复,那就相对简单了:
在您选择的编辑器中打开employees.sql文件
编辑第38和44行
<?php include('ConnectionCode.php');
$conn = mysqli_connect($svr, $usr, $pwd, $db) or die("Could not connect " . mysql_error());
$sql = "SELECT RetailPrice FROM WebHosting_PricingCOP WHERE id='32402' LIMIT 1";
$result = mysqli_query($conn, $sql);
$price = mysqli_fetch_array($result);
echo json_encode(number_format($price['RetailPrice'],0,".",","));
mysqli_close($conn)
?>
保存employees.sql,然后打开控制台窗口并导航到<script type="text/javascript">
var PriceValue = "<?php echo json_encode($price) ?>";
document.write('<h3>'+PriceValue+'</h3>');
</script>
文件夹。从提示和您的所有设置执行以下命令。
// change line 38 from:
set storage_engine = InnoDB;
// to:
set default_storage_engine = InnoDB;
// change line 44 from:
select CONCAT('storage engine: ', @@storage_engine) as INFO;
// to:
select CONCAT('default storage engine: ', @@default_storage_engine) as INFO;
答案 2 :(得分:0)
https://github.com/datacharmer/test_db
中提供了更新的数据库它具有MySQL 5.7.x的修复程序
答案 3 :(得分:0)
没有在新版本中修复它...我得到了同样的错误: ERROR 1193(HY000)第38行:未知系统变量&#39; storage_engine&#39;
答案 4 :(得分:0)
[root@001 employees_db]# vim employees.sql
set **default_storage_engine** = InnoDB;
-- set storage_engine = MyISAM;
-- set storage_engine = Falcon;
-- set storage_engine = PBXT;
-- set storage_engine = Maria;
select CONCAT('storage engine: ', @@**default_storage_engine**) as INFO;
需要两个更改:default_storage_engine