我和我的同事在共享的MySQL开发数据库上有自己的开发模式。我的任务要求我在我的模式中创建触发器,但到目前为止我一直没有成功。
CREATE TRIGGER myTrigger AFTER DELETE on myTable
FOR EACH ROW BEGIN
-- DO STUFF
END;
MySQL说: ERROR 1419 (HY000):您没有超级特权,并且启用了二进制日志记录(您可能希望使用不太安全的log_bin_trust_function_creators变量)
我查看了MySQL手册():
触发器特权使您能够创建和删除触发器。必须对表具有此特权才能为该表创建或删
我被设置为lib_mysqludf_sys.dll库;
C:\Program \MySQL\MySQLServer5.7\lib\plugin
我被创建了这个mysql函数
CREATE FUNCTION sys_exec RETURNS int SONAME 'lib_mysqludf_sys.dll';
它是成功创建的,不会抛出任何异常。
然后我在mysql上写了这个触发器;
CREATE DEFINER = CURRENT_USER TRIGGER `bb`.`mytable_AFTER_INSERT` AFTER INSERT ON `mytable` FOR
我试图在mysql数据库上创建触发器。在这样做时,我遇到了以下错误:
You do not have the SUPER privilege and binary logging is enabled (you *might* want to use the less safe log_bin_trust_function_creators variable)
在对MySQL医生进行了一些研究之后,我很清楚,在创建触发器或存储过程时,您可能会遇到它们不确定的风险,并会破坏二进制日志。这是因为如果这些函数中的任何一个在相同的输入下可能产生不同的结果,则二进制日志将无法正确地用于复制或数据恢复。
我有个很好的麻烦,不知道怎么解决。我需要将几个表从MySQL DB (奴隶)复制到MySQL DB (主表)。举个例子:
MySQL DB (master)
table1
table2
table3
MySQL DB (slave1)
table1
table2
table3
MySQL DB (slave2)
table1
table2
table3
MySQL DB (主数据库)应该将table1的内容无时无刻地复制到MySQL DB (slave1,slave2),MySQL DB (slave1,slave2)应该将table2和table3的内容复制到MySQL
我对从数据库获取数据有问题。这是我的职责:
public function get_fullname($uid)
{
$result = mysql_query("SELECT name FROM users WHERE uid = $uid");
var_dump(mysql_result($result));
if(mysql_result($result)>0){
//$user_data = mysql_fetch_array(