MySql修改数据引擎
这是因为索引的字段太长
1,检查一下是不是数据库被限制了索引的大小
mysql> show variables like '%innodb_large_prefix%';
+---------------------+-------+
| Variable_name | Value |
+---------------------+-------+
| innodb_large_prefix | OFF |
+---------------------+-------+
1 row in set
2,查询的值是OFF的话,修改为ON
mysql> set global innodb_large_prefix=on;
Query OK, 0 rows affected
3,再次查看是否被限制了索引的大小
mysql> show variables like '%innodb_large_prefix%';
+---------------------+-------+
| Variable_name | Value |
+---------------------+-------+
| innodb_large_prefix | ON |
+---------------------+-------+
4,查看当前的innodb_file_format引擎格式类型是不是BARRACUDA
mysql> SHOW variables like 'innodb_file_format';
+--------------------+----------+
| Variable_name | Value |
+--------------------+----------+
| innodb_file_format | Antelope |
+--------------------+----------+
1 row in set
5,如果不是的话则需要修改
mysql> SET GLOBAL innodb_file_format = BARRACUDA;
Query OK, 0 rows affected
6,再次查询一下是否已修改为BARRACUDA
mysql> SHOW variables like 'innodb_file_format';
+--------------------+-----------+
| Variable_name | Value |
+--------------------+-----------+
| innodb_file_format | Barracuda |
+--------------------+-----------+
1 row in set
修改完成,可以执行了