用mysqldump 导出 Trigger 的时候遇到一个问题,贴出来,以免大家犯错。
在执行下面的操作时:
复制代码 代码如下:
[root@ytt ~]# /usr/local/mysql/bin/mysqldump -S /tmp/mysql1.sock test > test.sql
导出的结果里面含有 Trigger.
复制代码 代码如下:
[root@ytt ~]# /usr/local/mysql/bin/mysqldump -S /tmp/mysql1.sock -Rdtn test > test_sp.sql
导出的结果里面仍然含有 Trigger.
导入的时候出错:
[root@ytt ~]# /usr/local/mysql/bin/mysql -S /tmp/mysql1.sock --database test < test.sql
[root@ytt ~]# /usr/local/mysql/bin/mysql -S /tmp/mysql1.sock --database test < sp.sql
ERROR 1235 (42000) at line 26: This version of MySQL doesn't yet support 'multiple triggers with the same action time and event for one table'
解决办法:
默认不带任何参数的时候 tiggers 值为真,那么我们修改他的值为假,给mysqldump 加上开关: --triggers=false 即可。