Fork me on GitHub

2014年7月

SQLyog的架构同步工具的一个问题

在我们的日常开发中,经常需要将一个已有的数据库导到另一个数据库。通过SQLyog的同步工具可以很方便的完成这个操作。SQLyog是一款强大的MySQL客户端,类似于SQL SERVER的SSMS。SQLyog的同步有两个,架构同步和数据库同步。架构同步包括:表结构、视图、存储过程、函数、触发器、事件的同步,数据库同步则是同步所有表中的数据。一般的操作步骤是先将架构同步过去,然后再同步数据。

今天在工作中需要同步一个数据库,在同步架构的时候总是报错:

OPERATIO need to be executed set by ADMIN

一开始是没注意,忽略了该错误。后来才发现存储过程和触发器都没有同步过去。将同步的触发器和存储过程的SQL代码拷出来如下:

/* Create Trigger in target */
DELIMITER $$
CREATE
/*!50017 DEFINER = 'root'@'%' */
TRIGGER `insert_tasklog_trigger` BEFORE INSERT ON `task_status_log`
FOR EACH ROW BEGIN
INSERT INTO task_status_log_2 (
    channelcode, 
    success, 
    createtime, 
    machine_id, 
    ip, 
    crawltime, 
    task_id, 
    proxy, 
    error
) VALUES (
    new.channelcode, 
    new.success, 
    NOW(), 
    new.machine_id, 
    new.ip, 
    new.crawltime, 
    new.task_id, 
    new.proxy, 
    new.error
);
END;
$$
DELIMITER ;
/* Create Procedure in target */
DELIMITER $$
CREATE DEFINER=`root`@`%` PROCEDURE `clear_expired_log`()
BEGIN
DELETE FROM `log` WHERE expiretime< NOW() - INTERVAL 1 MINUTE;
END$$
DELIMITER ;

最终发现问题,这两条SQL中都有DEFINERDEFINER是用于表示SQL在执行时候的权限,它的语法是:username%hostnamehostname可以使用%通配符匹配所有主机。然后检查同步的那台数据库用户名,并不是root,于是将root替换成那台数据库的用户名,再次同步就OK了。

扫描二维码,在手机上阅读!

创业的三个建议

离创业失败转眼已经过去一年多了,这一年学到了很多,也参悟了很多。仍然还记得三年前的自己曾信誓当当的对着人说,年轻就要拼一拼闯一闯,要干一番事业,靠自己的能力来创业。如今的自己审视当时的我,还略显幼稚,这个世界远比我想象的要大。 这一年给自己定下了三步计划,将它称之为三步走战略:一年百书、一周一博、一日三思。第一步计划已然渐渐完成,俗话说读书明智,在读书中积累和总结,回过头来思考当初创业失败的原因,再加上如今一年多的在创业公司工作的经验,很多事情都渐渐明朗起来。 以下是我给创业者(包括以后的我)的三个建议,如果不符合这三个条件就不要创业。

一、找个好搭档

这个“好”并不是“好兄弟”、“好哥们”的“好”,而是“靠谱”的意思。找个靠谱的搭档,两个或者三个。创业初期搭档不宜多,也不能少。不要自己一个人创业。

靠谱的搭档至少要符合下面三个条件:

  • 能力互补。不要几个人干一样的事情,每个人都应该发挥自己的专长,对团队中的其他人形成互补,集思广益。譬如三个人都是做技术,没有人管市场,没有人做美工设计,做出的产品只能自己玩玩。
  • 等级一致。一开始创业的几个人在等级上应该要一致,不要一个80级,一个是5级,那创业的过程就变成了辅导新手的过程,对整个团队的工作没有任何益处,只会拖垮产品。
  • 有责任心。没有责任心的人只会被动的接受工作,等着被分配任务,这样的人不适合创业,至少在初期不适合。

二、找个好产品

创业不是闹着玩的,是真正的开始干一番事业,最终的目的是完成一个产品或者一个项目,对用户有所帮助,从而实现价值。

  • 现实。不要做不现实的东西,不要做自己完全不懂只是跟风的东西。一定要在初期就想好创业的点子,这个点子是整个创业初期的原动力,虽然后面这个点子会慢慢发展慢慢变化,但是在初期如果没有这个点子,就会在创业一段时候后失去动力。
  • 持久性。创业的项目或产品必须能持久,不要在网上接那种两三天就能够完成的单子,要做出一个有真正客户的东西,并能够一直维护下去。

三、找个好时机

不要在人生不稳定的时机里创业,譬如恋爱或失恋,亲人病危,这些生活上的烦恼和痛苦会对你的创业带来巨大影响。除非你的内心足够强大。

扫描二维码,在手机上阅读!