mysql通过sqoop导入到hbase中时数据量为1000w时出现Incorrect key file for table '/tmp/#sql_458_0.MYI'; try to repair it
问题:mysql通过sqoop导入到hbase中时数据量为1000w时出现Incorrect key file for table '/tmp/#sql_458_0.MYI'; try to repair it,数据量为100w等时没该问题
分析:出现该问题时因为mysql的临时目录(默认为/tmp)太小:我的mysql时在线安装的(sudo apt-get install)
解决方法:
参考:http://blog.sina.com.cn/s/blog_4c197d420101bdn9.html
但是修改my.cnf中的变量时,在MySQL中还有一些特殊的全局变量(例如log_in tmpdir version datadir),在MySQL服务实例运行期间它们的值不能动态修改,不能使用set命令进行重新设置的,这种变量称为静态变量,数据库管理员只能在my.cnf中对静态变量的值,并且只能在root用户下,即使sudo gedit /etc/mysql/my.cnf方法修改过来也无法启动mysql,只有切换到root用户下,环境变量才会切换,才能对该文件静态变量修改生效。