当前位置:  数据库>其它
本页文章导读:
    ▪mysql 启动事件      事件调度器有时也可称为临时触发器(temporal triggers),因为事件调度器是基于特定时间周期触发来执行某些任务,而触发器(Triggers)是基于某个表所产生的事件触发的,区别也就在这里。 在使用.........
    ▪hadoop学习之-Sqoop与关数据库(mysql)之间导入实践      一、            Sqoop概述 Sqoop是一个用来将Hadoop和关系型数据库中的数据相互转移的工具,可以将一个关系型数据库(例如: MySQL ,Oracle ,Postgres等).........
    ▪mysql 触发器详解 代码 错语解答      触发器trigger  作用:可以监视 增删改操作 并触发 增删改操作 监视对象:TALBE表    监视事件:insert update delete  触发时间: after before  触发事件 insert update delete 万能.........

[1]mysql 启动事件
    来源: 互联网  发布时间: 2013-11-07
事件调度器有时也可称为临时触发器(temporal triggers),因为事件调度器是基于特定时间周期触发来执行某些任务,而触发器(Triggers)是基于某个表所产生的事件触发的,区别也就在这里。
在使用这个功能之前必须确保event_scheduler已开启,可执行
SET GLOBAL event_scheduler = 1; 
或我们可以在配置my.ini文件 中加上 event_scheduler = 1或
SET GLOBAL event_scheduler = ON;
来开启,也可以直接在启动命令加上“–event_scheduler=1”,例如:
mysqld ... --event_scheduler=1
要查看当前是否已开启事件调度器,可执行如下SQL:
SHOW VARIABLES LIKE 'event_scheduler';

SELECT @@event_scheduler;

拥有 SUPER 权限的账户执行 SHOW PROCESSLIST 就可以看到这个线程了。


在使用事件这个功能,首先要保证你的mysql的版本是5.1以上,然后还要查看你的mysql服务器上的事件是否开启。

查看事件是否开启,使用如下命令查看:

SHOW VARIABLES LIKE 'event_scheduler';

SELECT @@event_scheduler;

SHOW PROCESSLIST;

如果看到event_scheduler为on或者PROCESSLIST中显示有event_scheduler的信息说明就已经开启了事件。如果显示为off或者在PROCESSLIST中查看不到event_scheduler的信息,那么就说明事件没有开启,我们需要开启它。

开启mysql的事件,通过如下三种方式开启:

Ø  通过动态参数修改

SET GLOBAL event_scheduler = ON;

更改完这个参数就立刻生效了

注意:还是要在my.cnf中添加event_scheduler=ON。因为如果没有添加的话,mysql重启事件又会回到原来的状态了。

Ø  更改配置文件然后重启

在my.cnf中的[mysqld]部分添加如下内容,然后重启mysql。

event_scheduler=ON

Ø  通过制定事件参数启动

mysqld ... --event_scheduler=ON



创建事件(CREATE EVENT)
先来看一下它的语法:

CREATE EVENT [IF NOT EXISTS] event_name
ON SCHEDULE schedule
[ON COMPLETION [NOT] PRESERVE]
[ENABLE | DISABLE]
[COMMENT 'comment']
DO sql_statement;

schedule:
AT TIMESTAMP [+ INTERVAL INTERVAL]
| EVERY INTERVAL [STARTS TIMESTAMP] [ENDS TIMESTAMP]

INTERVAL:
quantity {YEAR | QUARTER | MONTH | DAY | HOUR | MINUTE |
            WEEK | SECOND | YEAR_MONTH | DAY_HOUR | DAY_MINUTE |
            DAY_SECOND | HOUR_MINUTE | HOUR_SECOND | MINUTE_SECOND}

1)首先来看一个简单的例子来演示每秒插入一条记录到数据表

USE test;
CREATE TABLE aaa (timeline TIMESTAMP);
CREATE EVENT e_test_insert
ON SCHEDULE EVERY 1 SECOND 
DO INSERT INTO test.aaa VALUES (CURRENT_TIMESTAMP);
等待3秒钟后,再执行查询成功。

2) 5天后清空test表:

CREATE EVENT e_test
ON SCHEDULE AT CURRENT_TIMESTAMP + INTERVAL 5 DAY
DO TRUNCATE TABLE test.aaa;
3) 2007年7月20日12点整清空test表:

CREATE EVENT e_test
ON SCHEDULE AT TIMESTAMP '2007-07-20 12:00:00'
DO TRUNCATE TABLE test.aaa;
4) 每天定时清空test表:

CREATE EVENT e_test
ON SCHEDULE EVERY 1 DAY
DO TRUNCATE TABLE test.aaa;
5) 5天后开启每天定时清空test表:

CREATE EVENT e_test
ON SCHEDULE EVERY 1 DAY
STARTS CURRENT_TIMESTAMP + INTERVAL 5 DAY
DO TRUNCATE TABLE test.aaa;
6) 每天定时清空test表,5天后停止执行:

CREATE EVENT e_test
ON SCHEDULE EVERY 1 DAY
ENDS CURRENT_TIMESTAMP + INTERVAL 5 DAY
DO TRUNCATE TABLE test.aaa;
7) 5天后开启每天定时清空test表,一个月后停止执行:

CREATE EVENT e_test
ON SCHEDULE EVERY 1 DAY
STARTS CURRENT_TIMESTAMP + INTERVAL 5 DAY
ENDS CURRENT_TIMESTAMP + INTERVAL 1 MONTH
DO TRUNCATE TABLE test.aaa;
[ON COMPLETION [NOT] PRESERVE]可以设置这个事件是执行一次还是持久执行,默认为NOT PRESERVE。
8) 每天定时清空test表(只执行一次,任务完成后就终止该事件):

CREATE EVENT e_test
ON SCHEDULE EVERY 1 DAY

    
[2]hadoop学习之-Sqoop与关数据库(mysql)之间导入实践
    来源: 互联网  发布时间: 2013-11-07

一、            Sqoop概述

Sqoop是一个用来将Hadoop和关系型数据库中的数据相互转移的工具,可以将一个关系型数据库(例如: MySQL ,Oracle ,Postgres等)中的数据导进到Hadoop的HDFS中,也可以将HDFS的数据导进到关系型数据库中。

 

二、            Sqoop安装配置

软件下载:

Sqoop官方版本:http://apache.dataguru.cn/sqoop/1.4.2/

Sqoop CDH版本:http://archive.cloudera.com/cdh/3/sqoop-1.2.0-CDH3B4.tar.gz

Hadoop CDH版本:http://archive.cloudera.com/cdh/3/hadoop-0.20.2-CDH3B4.tar.gz

 

 

安装环境:

--所涉及软件版本

Os version:redhad linux 5.6 64bit

Hadoop version:Hadoop-0.20.2 for linux

Sqoop version:sqoop-1.2.0-CDH3B4

Hbase version:hbase-0.90.5

Mysql version:5.5.24 MySQL Community Server (GPL) for windows 64bit

Oracle version:oracel 11.2.0.3 for linux 64bit

 

Hadoop架构:

主机名

IP

节点名

进程名

gc

192.168.2.100

master

namenode,jobtracker

rac1

192.168.2.101

slave

datanode,tasktracker

Rac2

192.168.2.102

slave

datanode,tasktracker

 

 

安装步骤:

1.      安装准备

之前已经安装Hadoop-0.20.2,因sqoop官方版本不支持此版本,但可使用CDH3版本,如上面的下载链接。为了测试方便,可以通过拷贝相应的包到sqoop-1.2.0-CDH3B4/lib下,依然可以使用Hadoop-0.20.2版本。

Hadoop安装参考:http://blog.csdn.net/lichangzai/article/details/8441975

 

2.      复制 hadoop-core-0.20.2-CDH3B4.jar到sqoop-1.2.0-CDH3B4/lib

--解压

[grid@gc ~]$ pwd

/home/grid

[grid@gc ~]$ tar xzvf sqoop-1.2.0-CDH3B4.tar.gz

[grid@gc ~]$ tar xzvf hadoop-0.20.2-CDH3B4.tar.gz

 

--复制

[grid@gc hadoop-0.20.2-CDH3B4]$ pwd

/home/grid/hadoop-0.20.2-CDH3B4

[grid@gc hadoop-0.20.2-CDH3B4]$ cp hadoop-core-0.20.2-CDH3B4.jar /home/grid/sqoop-1.2.0-CDH3B4/lib/

 

3.      复制mysql-connector-java-*.jar到sqoop-1.2.0-CDH3B4/lib

--在之前安装weblogic目录里找了此文件

[root@gc ~]# find / -name "mysql-connector-java*" -print

/home/oracle/Oracle/Middleware/wlserver_10.3/server/lib/mysql-connector-java-commercial-5.0.3-bin.jar

 

--复制此文件

[root@gc ~]# cd /home/oracle/Oracle/Middleware/wlserver_10.3/server/lib/

[root@gc lib]#cp mysql-connector-java-commercial-5.0.3-bin.jar /home/grid/sqoop-1.2.0-CDH3B4/lib/

[root@gc lib]# cd /home/grid/sqoop-1.2.0-CDH3B4/lib/


    
[3]mysql 触发器详解 代码 错语解答
    来源: 互联网  发布时间: 2013-11-07

触发器trigger 


作用:可以监视 增删改操作 并触发 增删改操作


监视对象:TALBE表    监视事件:insert update delete  触发时间: after before  触发事件 insert update delete


万能模版:

创建触发器 

create  trigger 触发器名称 

after/before  insert/update/delete on 表名 

for each row 

begin  

sql 语句—一个或者多个语句范围在 insert/update/delete内; 

end 


如果只有一条SQL语句,可以不用begin  end 。直接后面接上就行。

FOR EACH ROW  --触发器的执行间隔:FOR EACH ROW子句通知触发器 每隔一行执行一次动作,而不是对整个表执行一次。


还有就是在触发器中使用变量

[sql] view plaincopyprint?
  • set @t_id=new.id;  
  •   
  • set @t_id=old.id;  
  • new可以或则到你新添加进来的数据 old其实也可以 但是在old只可以在update中使用

    Before与After区别:before:(insert、update)可以对new进行修改,after不能对new进行修改。两者都不能修改old数据。

     在本表插入字段值需要用new计算,只能用before,在别的表中记录插入成功记录或统计插入的条数用after。

    变量的话,无论Before,After都可以用。


    定义变理有两种方式:

    一:declare t_id int(10);//先申明
           set t_id= new.ID;

    二:set @t_name= 'P_Business';;//不事先申明,直接创建



    变理可以附于常量,也可以直接附给结果:

    SET @ver = (SELECT VERSION FROM zf_cnc_conference.userinfo WHERE  username=new.MobileNum);


    还可以更复杂一些:


        
    最新技术文章:
    ▪gc buffer busy/gcs log flush sync与log file sync    ▪让你的PL/SQL更好用    ▪ADO.NET中的非脱机数据库查询
    ▪参数job_queue_processes与Oracle jobs    ▪11gR2游标共享新特性带来的一些问题以及_cursor...    ▪_library_cache_advice和latch:shared pool、latch:shared poo...
    ▪SQL: Date Utility    ▪DB2 分区表增加分区    ▪DB2第一步 — 创建表
    ▪oracle 数据库    ▪插入10万条记录测试    ▪rebuild index VS. rebuild index online
    ▪如何处理undo tablespace 表空间太大的问题    ▪ado执行存储过程中包含结果集获取输出参数为...    ▪oracle函数的demo
    ▪Entity Framework 学习建议及自学资源    ▪存储过程的编写    ▪Linux/Unix shell 自动发送AWR report(二)
    ▪第二章 Oracle恢复内部原理(基础数据结构)    ▪Redis源码学习之【Tcp Socket封装】    ▪Java Jdbc减少与Oracle之间交互提升批量处理性能...
    ▪南大通用GBase8a Vs Oracle11g 单机测试亲测    ▪oracle 中行列转换    ▪rhel下安装oracle10g+asm---测试环境搭建
    ▪Redis系列-主从复制配置    ▪MySQL索引与查询优化    ▪INDEX受到NULL值的影响
    ▪测试人员的SQL语言 系列    ▪SQL数据库基本语句    ▪MySQL Replication常见错误整理[持续更新...]
    ▪eclipse下建立esper的demo    ▪把oracle rac 转化为单机数据库    ▪Redis系列-存储篇sorted set主要操作函数小结
    ▪基本的SQL*Plus报表和命令    ▪druid简单教程    ▪11g调度--scheduler使用
    ▪EF基础一    ▪db2存储过程中循环语句while do的continue有没有...    ▪oracle 创建DBLINK
    ▪DB2数据库备份还原    ▪Warning: prerequisite DBD::mysql 1 not found错误解决方...    ▪innotop性能监视mysql,innodb工具
    ▪数据迁移:DataGuard配置    ▪QX项目实战-19.跨库数据同步    ▪Mysql EXPLAIN
    ▪Oracle 11g AWR 系列七:Active Session History (ASH) 报...    ▪Oracle 11G新特性(共36个)    ▪父子节点问题
    ▪OEM简介及按钮乱码问题    ▪NoSql之MongoDB的常用类管理    ▪ORA-39700: database must be opened with UPGRADE option
    ▪node.js 访问redis数据库,pub/sub    ▪使用DBMS_REDEFINITION在线重定义分区表    ▪SQL Developer 使用问题与解决方法汇总
    ▪oralce 11g dataguard 概念    ▪ORA-30004 错误处理    ▪oracle分组函数rollup,cube
    ▪Sql Developer 使用问题与解决方法汇总    ▪Configure Oracle Dataguard Primary-ASM to Physical-ASM    ▪Oracle Data Guard 理论知识
    ▪Control File 恢复    ▪Oracle数据文件收缩    ▪Oracle 11g AWR 系列五:如何生成 AWR 报告?
    ▪Wireshark数据包分析实战(第2版)    ▪MySql用户权限控制    ▪db2和oracle查询序列区别
    ▪更新blob字段的存储过程    ▪MySQLReport分析报告三    ▪DB2中的序列
    ▪Oracle中DBMS_RANDOM.STRING 的用法    ▪SQL SERVER无法安装成功,sqlstp.log文件提示[未发...    ▪Data Guard 部署物理备库的 10 大注意事项
    ▪万能数据库查询分析器使用技巧之(九)    ▪SQL 自定义Split函数    ▪视图 v$sql,v$sqlarea,$sqltext,v$sqltext_with_newlines 的...
    ▪Data Guard Standby_archive_dest 和 Log_archive_dest_n 的...    ▪机房收费系统数据库设计(一)    ▪利用putty的SSH tunnel连接Oracle
    ▪DBCA建库偶遇ORA-27125    ▪使用PowerPivot建立简单的分析模型    ▪Linux/Unix shell 自动发送AWR report
    ▪写入到blob字段的存储过程    ▪关于JDBC中ResultSet接口的一点细节探究    ▪Data Guard 配置 Standby Redo Log
    ▪linux下redis的安装    ▪windows下redis的安装    ▪手动创建数据库步骤(简单翻译官方文档)
    ▪Ubuntu安装Mongodb    ▪SQL CLR应用    ▪redis的配置文件参数--详细说明
     


    站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3