Mysql存儲引擎MyISAM的罕見成績(表破壞、沒法拜訪、磁盤空間缺乏)。本站提示廣大學習愛好者:(Mysql存儲引擎MyISAM的罕見成績(表破壞、沒法拜訪、磁盤空間缺乏))文章只能為提供參考,不一定能成為您想要的結果。以下是Mysql存儲引擎MyISAM的罕見成績(表破壞、沒法拜訪、磁盤空間缺乏)正文
本文為年夜家分享懂得決Mysql存儲引擎MyISAM罕見成績的辦法,供年夜家參考,詳細內容以下
1、處置MyISAM存儲引擎的表破壞
在應用MySQL,能夠會碰到過MyISAM存儲引擎的表破壞的情形。如以下情形:
.frm被鎖定不克不及修正
找不到.myi文件(索引文件)
不測停止記載
文件被損壞
從表處置器獲得毛病nnn
處理方法1:
應用MySQL自帶的myisamchk對象停止修復
翻開bin目次,可以看到該對象
敕令以下
myisamchk -r tablename
r代表recover
或
myisamchk -o tablename
-o參數代表–safe-recover 可以停止更平安的修復
處理方法2:
應用MySQL的CHECK table和repair table敕令停止修復
check table用來檢討表能否有破壞,repair table用來對壞表停止修復。
2、MyISAM表過年夜,沒法拜訪成績
起首我們可以經由過程myisamchk敕令來檢查MyISAM表的情形。以下圖,我檢查admin表
datefile length代表以後文件年夜小
keyfile length代表索引文件年夜小
max datefile length 代表最年夜文件年夜小
max keyfile length 代表最年夜索引年夜小
可以經由過程以下敕令來停止擴大數據文件年夜小
alter table table_name MAX_ROWS=88888888 AVG_ROW_LE=66666
3、數據目次磁盤空間缺乏
1、針對MyISAM存儲引擎
可以將數據目次和索引目次存儲到分歧的磁盤空間。
2、針對InnoDB存儲引擎
關於InnoDB存儲引擎的表,由於數據文件和索引文件時寄存在一路的。所以沒法將他們分別。當磁盤空間湧現缺乏時刻,可以增長一個新的數據文件,這個文件放在有充分空間的磁盤上。詳細完成是經由過程InnoDB_data_file_path中增長此文件。
innodb_data_file_path=/home/mysql/data:10000M;/user/mysql/data:10000M:autoextend
參數修正以後,須要重啟辦事器,才可以失效。
4、統一台主機上裝置多個Mysql
除每一個Mysql裝置目次不克不及雷同外,還須要的是port和socket不克不及一樣。
mysql.sock就是客戶端銜接與mysql間通訊用的。socket文件,只能本機應用,長途銜接要經由過程tcp/ip了。
以上就是Mysql存儲引擎MyISAM罕見成績解析,感謝年夜家的浏覽。