mysql5.6批量設(shè)置表ROW_FORMAT =DYNAMIC問題
mysql5.6批量設(shè)置表ROW_FORMAT =DYNAMIC
安裝某個軟件的時候提示
ERROR 1071 (42000): Specified key was too long; max key length is 767 bytes
后來發(fā)現(xiàn)是一些參數(shù)設(shè)置的問題,不知道m(xù)ysql5.7會不會出現(xiàn)這個問題,
沒有測試大家可以直接升級到mysql5.7看能不能解決
解決方法
1: 系統(tǒng)變量innodb_large_prefix為ON
2: 系統(tǒng)變量innodb_file_format為Barracuda
3: ROW_FORMAT為DYNAMIC或COMPRESSED
將這三個變量設(shè)置為以上狀態(tài):
分別可以使用命令
1)show variables like '%innodb_large_prefix%';
2)show variables like '%innodb_file_format%';
3)SELECT table_schema, table_name, row_format FROM information_schema.TABLES
WHERE table_schema IN ( '數(shù)據(jù)庫名') 【可以加篩選命令不是Dynamic的表 AND information_schema.TABLES.row_format <> 'Dynamic'】
查看參數(shù)狀態(tài)如果參數(shù)狀態(tài)不正確可以使用
set global innodb_large_prefix=on; set global innodb_file_format=Barracuda;
兩個命令完成
問題是第三個修改比較麻煩,mysql5.6沒有全局設(shè)置表為ROW_FORMAT為DYNAMIC或COMPRESSED的屬性,所以得一個個修改,后來想了個辦法,
可以這樣嘗試操作:
1)可以通過命令
篩選出不等于Dynamic的表并生成更新語句
SELECT
CONCAT( "ALTER TABLE `", table_schema, "`.`", table_name, "` ROW_FORMAT =DYNAMIC ;" )
FROM
information_schema.TABLES
WHERE
table_schema IN ( '數(shù)據(jù)庫名' ) AND information_schema.TABLES.row_format <> 'Dynamic'將生成的語句批量執(zhí)行就可以了!
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
mysql配置模板(my-*.cnf)參數(shù)詳細說明
這篇文章主要介紹了mysql配置模板就是mysql的配置文件參數(shù)說明,需要的朋友可以參考下2015-01-01
mysql踩坑之limit與sum函數(shù)混合使用問題詳解
這篇文章主要給大家介紹了關(guān)于mysql踩坑之limit與sum函數(shù)混合使用問題的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家學(xué)習(xí)或者使用mysql具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2019-06-06
各個系統(tǒng)如何尋找數(shù)據(jù)庫的my.ini并進行修改方法詳解
通過編輯my.ini文件,可以對MySQL數(shù)據(jù)庫服務(wù)器進行各種配置,比如設(shè)置監(jiān)聽的IP地址、指定端口號、設(shè)定字符集、配置緩沖區(qū)大小等等,這篇文章主要介紹了各個系統(tǒng)如何尋找數(shù)據(jù)庫的my.ini并進行修改的相關(guān)資料,需要的朋友可以參考下2025-04-04
MySQL的MRR(Multi-Range Read)優(yōu)化原理解析
MRR優(yōu)化是MySQL中一種重要的查詢優(yōu)化技術(shù),它通過減少磁盤I/O的隨機性和提高緩存效率,顯著提升了查詢性能,這篇文章主要介紹了MySQL的MRR(Multi-Range Read)優(yōu)化原理詳解,需要的朋友可以參考下2024-08-08
MySQL修改lower_case_table_names參數(shù)的方法實踐
本文主要介紹了MySQL修改lower_case_table_names參數(shù),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2024-05-05
MySQL DBA教程:Mysql性能優(yōu)化之緩存參數(shù)優(yōu)化
在平時被問及最多的問題就是關(guān)于 MySQL 數(shù)據(jù)庫性能優(yōu)化方面的問題,所以最近打算寫一個MySQL數(shù)據(jù)庫性能優(yōu)化方面的系列文章,希望對初中級 MySQL DBA 以及其他對 MySQL 性能優(yōu)化感興趣的朋友們有所幫助2014-03-03

