Skip navigation.
主選單區塊
登入區塊
帳號:

密碼:


忘記密碼?

現在註冊!
搜尋區塊
線上人數
22人線上 (17人在瀏覽討論區)

會員: 0
遊客: 22

更多...

正在瀏覽:   1 名遊客





#1 Specified key was too long; max key length is 1000 bytes 問題
qqgogogo 7/11 23:45
Specified key was too long; max key length is 1000 bytes 問題
主機為centos7
要給學務系統和XOOPS使用
PHP/5.4.16
mysql Ver 15.1 Distrib 5.5.56-MariaDB, for Linux (x86_64) using readline 5.1


這個問題是在安裝XOOPS模組時發生的,也許學務系統在匯入資料庫時也會遇到,問題描述如下:

XOOPS資料庫編碼選擇 utf8mb4
安裝XOOPS網站後,後開始裝設模組
Tad Tools 工具包完整版 Tad Adm 站長工具箱 順利安裝
Tad Themes 佈景管理 出現以下訊息

---------------------

無法安裝 tad_themes 錯誤(s):

正在安裝佈景管理

Specified key was too long; max key length is 1000 bytes



------------------------------
大意是MySQL索引長度超過1000bytes,所以無法安裝模組成功
請問要如何解決呢??

https://n.sfs.tw/content/index/12360
這網站上提到的#vi /etc/my.cnf
max_allowed_packet = 100M
innodb_file_format = Barracuda
innodb_file_format_max = Barracuda
innodb_file_per_table = 1
innodb_large_prefix =====> 這個是不是已經是要支援更長的索引長度????我也搞不懂,google此問題時有人說要開啟innodb_large_prefix,也有人說要讓innodb可以支援資料庫,但主機中有innodb,卻是呈現無支援狀態。


#2 回復: Specified key was too long; max key length is 1000 bytes 問題
qqgogogo 7/12 0:22
Mysql索引長度不足問題

Specified key was too long; max key length is 1000 bytes

參考網址

https://hk.saowen.com/a/60fe047ce40051 ... 277394e6db26e2f634c8acc9c

嘗試解決方法如下,但還是失敗。

--------------------------------

進入mysql

mysql -u root –p



3. 修改innodb_large_prefix,innodb_file_format參數

mysql> set global innodb_large_prefix=1;

Query OK, 0 rows affected (0.00 sec)

mysql> set global innodb_file_format=BARRACUDA;

Query OK, 0 rows affected (0.00 sec)





1. 查看innodb_large_prefix,innodb_file_format參數

MariaDB [(none)]> show variables like 'innodb_large_prefix';

+---------------------+-------+

| Variable_name | Value |

+---------------------+-------+

| innodb_large_prefix | ON |

+---------------------+-------+

1 row in set (0.00 sec)



MariaDB [(none)]> show variables like 'innodb_file_format';

+--------------------+-----------+

| Variable_name | Value |

+--------------------+-----------+

| innodb_file_format | Barracuda |

+--------------------+-----------+

1 row in set (0.00 sec)

systemctl restart mariadb.service

systemctl restart httpd.service



還是失敗


#3 回復: Specified key was too long; max key length is 1000 bytes 問題
qqgogogo 7/12 0:31
MariaDB [(none)]> show engines;

顯示出一個表格,由於複製貼上表格會亂掉,我擷取重點如下

InnoDB DEFAULT

是不是只目前伺服器沒有 InnoDB 的支援???


#4 回復: Specified key was too long; max key length is 1000 bytes 問題
qqgogogo 7/16 15:46
XOOPS資料庫編碼還是用 utf8就好
這樣就不會遇到問題了

XOOPS模組目前還沒有支援到utf8mb4






可以查看帖子.
不可發帖.
不可回復.
不可編輯自己的帖子.
不可刪除自己的帖子.
不可發起投票調查.
不可在投票調查中投票.
不可上傳附件.
不可不經審核直接發帖.

[高級搜尋]


Powered by XOOPS2 繁體中文版 © 2001-2008 The XOOPS Project