[最近研究mysql数据库性能的相关问题,为了对比不同版本之间的差别。笔者找了一台测试服务器升级了该服务器的mysql数据库进行测试,在升级mysql过程中遇到了一些问题并将其
1、在MySql中创建自定义函数报错信息如下:
ERROR 1418 (HY000): This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its declaration and binary logging is enabled (you *might* want to use the less safe log_bin_trust_function_creators variable)
解决方法:
mysql>set global log_bin_trust_function_creators=1;
2、创建function时
出错信息:
ERROR 1418 (HY000): This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its declaration and binary logging is enabled (you *might* want to use the less safe log_bin_trust_function_creators variable)
原因:
这是我们开启了bin-log, 我们就必须指定我们的函数是否是
1 DETERMINISTIC 不确定的
2 NO SQL 没有SQl语句,当然也不会修改数据
3 READS SQL DATA 只是读取数据,当然也不会修改数据
4 MODIFIES SQL DATA 要修改数据
5 CONTAINS SQL 包含了SQL语句
其中在function里面,只有 DETERMINISTIC, NO SQL 和 READS SQL DATA 被支持。如果我们开启了 bin-log, 我们就必须为我们的function指定一个参数。
在MySQL中创建函数时出现这种错误的解决方法:
set global log_bin_trust_function_creators=TRUE;
3、
向MySQL导入数据的时候出错
出错信息:
ERROR 1418 (HY000): This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its declaration and binary logging is enabled (you *might* want to use the less safe log_bin_trust_function_creators variable)
原因:
这是我们开启了bin-log,我们就必须指定我们的函数是否是
1 DETERMINISTIC不确定的
2 NO SQL没有SQl语句,当然也不会修改数据
3 READS SQL DATA只是读取数据,当然也不会修改数据[之前装过mysql5.0,后来再装5.1的时候,发现5.1好使了,5.0却不好使了没有办法,就把5.0卸载了,可是后来怎么安装都有问题卸载后只剩下data文件夹了就想通过data文件夹恢复
4 MODIFIES SQL DATA要修改数据
5 CONTAINS SQL包含了SQL语句
其中在function里面,只有DETERMINISTIC, NO SQL和READS SQL DATA被支持。如果我们开启了bin-log,我们就必须为我们的function指定一个参数。
解决方法:
SQL code
mysql>show variableslike'%func%';
+---------------------------------+-------+
|Variable_name|Value|
+---------------------------------+-------+
|log_bin_trust_function_creators|OFF|
+---------------------------------+-------+
1rowinset(0.00sec)
mysql>setglobal log_bin_trust_function_creators=1;
Query OK,0rows affected (0.00sec)
mysql>show variableslike'%func%';
+---------------------------------+-------+
|Variable_name |Value|
+---------------------------------+-------+
|log_bin_trust_function_creators|ON|
+---------------------------------+-------+
1rowinset(0.00sec)
4、
今天要写一个函数.但没有办法建提示错误如下:
ERROR 1418 (HY000): This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its declaration and binary logging is enabled (you *might* want to use the less safe log_bin_trust_function_creators variable)
解决方式:(编缉f,添加如下)
[mysqld]
log_bin_trust_routine_creators = 1
重启mysql就好了
humen1 Tech
[hive的元数据存储在mysql后,报错的解决方法! 最近,因为工作的需要,一直在研究hadoop系统。许多分析工作都将通过hive来解决,所以特将所碰到的问题和解决方案,陆续整