mysql在給某個表導入數據時出現“the table is full”的解決方法

  在mysq配置文件conf/my.ini下修改文件內容:

[mysqld]
tmp_table_size=4G 
max_heap_table_size = 4G 
innodb_log_file_size = 1024M
innodb_log_buffer_size = 256M
secure-file-priv="c:/mysql/data"    
sql-mode="NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
read_buffer_size = 4G
innodb_thread_concurrency=0 

各參數的意義:

tmp_table_size 控制內存臨時表的最大值,超過限值後就往硬盤寫,寫的位置由變量tmpdir決定。

max_heap_table_size 用戶可以創建的內存表(memory table)的大小.這個值用來計算內存表的最大行數值。

innodb_log_file_size 該參數決定着mysql事務日誌文件(ib_logfile0)的大小

innodb_log_buffer_size 該參數確保有足夠大的日誌緩衝區來保存髒數據在被寫入到日誌文件之前。

secure-file-priv 限制數據的導入、導出,只能發生在/mysql/data(路徑由自己設置)

read_buffer_size 爲需要全表掃描的MYISAM數據表線程指定緩存

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章