1.ERROR 1305 (42000) at line 9468 in file: '/tmp/tables/tables.sql': FUNCTION dchstatnew.RECOVERY does not exist
问题描述:
这个问题是我从一个服务器将数据同步到另外一个数据库的时候遇到的。我当时使用的导出语句是:mysqldump -uroot -pxxxx --databases database1 database2 database3,结果发现存储过程函数没有能导出。
解决方案:
加上 -R 参数,这样可以导出存储过程和函数。
mysqldump -uroot -pxxxx -R --databases database1 database2 database3 > dump.sql
2.ERROR 1449 (HY000) at line 10522 in file: '/tmp/tables/tables.sql': The user specified as a definer ('root'@'%') does not exist
问题描述:
这个问题是我处理上一个问题之后遇到的,发现可能是root权限问题导致。通过给root用户设置最大的权限,得以解决。
解决方案:
grant all privileges on *.* to root@'%' identified by '密码';
flush privileges;(刷新权限)
3.ERROR 1436 (HY000): Thread stack overrun: 10864 bytes used of a 131072 byte stack, and 128000 bytes needed. Use 'mysqld --thread_stack=#' to specify a bigger stack.
问题描述:
当我执行insert语句的时候报的这个错误,上网查询了一下发现可能是配置文件的参数问题。当时我用的my-small.ini。
解决方案:
调整my.ini里面的参数,这个文件在我电脑里面的位置是:C:\Program Files\MySQL\MySQL Server 5.5\my.ini
在[mysqld]下面找到thread_stack,然后设置为500K。(thread_stack = 500K)
然后重启mysql服务,就可以了。
4.ERROR 1300 (HY000): Invalid utf8 character string:''
问题描述:
使用load data local infile语句导入数据的时候报错。
解决方案:
这个问题的出现是由于导入的数据文件编码格式是ANSI格式,需要将原始文件另存为utf8格式,然后重新导入。