MySQL Error number: MY-010195; Symbol: ER_DD_TRG_DB_COLLATION_MISSING; SQLSTATE: HY000 报错 故障修复 远程处理
文档解释
Error number: MY-010195; Symbol: ER_DD_TRG_DB_COLLATION_MISSING; SQLSTATE: HY000
Message: Database collation is missing for trigger of table %s. Using Default character set.
错误说明:
MY-010195 ER_DD_TRG_DB_COLLATION_MISSING(error number), 这个错误是由MySQL的Data Dictionary来生成的,是一个软件级别的安全检查。错误表明当前操作的数据库缺少了指定字符校验(比如utf8_general_ci),因此无法正常运行,报错。
常见案例
当使用Create/Alter Table/View/Stored Procedure 时就可能出现这个错误。比如,当多台MySQL(版本不同)之间做数据库迁移时,由于缺少或字符集不匹配,就可能导致这个错误。
解决方法:
1.重新创建字符集:可以使用客户端工具或发送如下命令来创建字符集:CREATE SCHEMA CHARACTERSET=utf8 COLLATE=utf8_general_ci;
2.修改字符集设置:通过ALTER SCHEMA/DATABASE指令来修改字符集设置:ALTER SCHEMA CHARACTERSET=utf8 COLLATE=utf8_general_ci;
3.重置字符集设置:修改my.cnf中default-character-set相关参数,数据库会根据重启后这个参数重新设置字符集,然后重新创建一个拥有正确校验设置的数据库。
4.检查字符集设置:执行下面指令可查看当前数据库的字符集设置情况:SELECT DEFAULT_CHARACTER_SET_NAME FROM information_schema.SCHEMATA WHERE SCHEMA_NAME = ‘your_database_name’;