mysql--庫索引過長超過限制--ERROR 1709 (HY000): Index column size too large. The maximum column size is 767 bytes.


在恢復一個mysql庫的備份文件時遇到報錯,報錯信息為index column size too large. the maximum column size is 767 bytes,此問題為備份的庫索引過長超過限制,目標數據庫引擎為INNODB 引擎,編碼UTF-8,主鍵字符串默認最大767,理論上是需要優化備份數據庫的,但是在實際環境中如果沒辦法優化,我們可以通過配置目標數據庫來解決這個報錯
修改數據庫的配置文件(vim /etc/my.cnf),加入如下兩行配置

innodb_large_prefix=on
innodb_file_format=BARRACUDA

重啟數據庫並登錄數據庫檢查配置是否生效

service mysql restart
show variables like 'innodb_large_prefix';

在這里插入圖片描述

show variables like 'innodb_file_format';

在這里插入圖片描述
修改我們要還原的數據庫腳本,加入如下配置即可

ROW_FORMAT=DYNAMIC

在這里插入圖片描述


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM