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数据表线程指定缓存

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