mysql中对此时间的管理,时间的轮转,求时间距离,切换时区等等

转载自:

 

在mysql的行使进度中,一时候会现出对时间实行的操作,比方时间向前向后滚动,求2个时刻的间隔,可能切换时区的操作

怎样是触发器

简短的说,正是一张表产生了某一件事(插入、删除、更新操作),然后自行触发了先行编写好的多少条SQL语句的推行;

规划

1、下载二进制包

https://downloads.mariadb.org/mariadb/10.2.16/

2、干净的逻辑卷lvm

3、新逻辑卷挂载到/data

4、/data/mysql目录贮存数据库

5、解压到安装目录,查看内置安装消息

6、设置配置文件

7、内定数据库

8、服务运营脚本

9、安全初叶化

 

1,时间向前滚动(未来),若是今后有三个开端时间,持续时间,而自笔者的职业只盼望知晓甘休时间,这年就需求用到TIMESTAMPADD函数,

特点及作用

特征:触发事件的操作和触发器里的SQL语句是多少个事务操作,具有原子性,要么全体试行,要么都不实践;

意义:有限支撑数据的完整性,起到约束的意义;

新建LVM分区

1、新建逻辑卷并安装空间

fdisk /dev/sda
#

澳门微尼斯人手机版 1澳门微尼斯人手机版 2

澳门微尼斯人手机版 3

2、新逻辑卷类型

澳门微尼斯人手机版 4

澳门微尼斯人手机版 5

澳门微尼斯人手机版 6

3、新分区生效

partprobe 
#
#

澳门微尼斯人手机版 7

4、创造卷组、逻辑卷、物理卷

澳门微尼斯人手机版 8

澳门微尼斯人手机版 9

澳门微尼斯人手机版 10

5、挂载

澳门微尼斯人手机版 11

vim /etc/fstab
#
#

澳门微尼斯人手机版 12

  DATE_ADD**(date,INTERVAL expr
type)**

事例:创立触发器,记录表的增、删、改操作记录

接下去将成立user和user_history表,以及八个触发器tri_insert_user、tri_update_user、tri_delete_user,分别对应user表的增、删、改三件事;

  • 创建user表;

    1 DROP TABLE IF EXISTS user;
    2 CREATE TABLE user (
    3 id bigint(20) NOT NULL AUTO_INCREMENT,
    4 account varchar(255) DEFAULT NULL,
    5 name varchar(255) DEFAULT NULL,
    6 address varchar(255) DEFAULT NULL,
    7 PRIMARY KEY (id)
    8 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;

  • 创建对user表操作历史表;

    DROP TABLE IF EXISTS user_history;
    CREATE TABLE user_history (
    id bigint(20) NOT NULL AUTO_INCREMENT,
    user_id bigint(20) NOT NULL,
    operatetype varchar(200) NOT NULL,
    operatetime datetime NOT NULL,
    PRIMARY KEY (id)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8;

  • 始建user表插入事件对应的触发器tri_insert_user;

几点表明:

DELIMITE昂科拉:更动输入的停止符,私下认可情形下输入完成符是分号;,这里把它改成了三个分店;;,那样做的指标是把多条含分号的说话做个包装,全体输入完之后共同实践,并不是一蒙受私下认可的子公司甘休符就自行实践;

new:当触发插入和换代事件时可用,指向的是被操作的记录

old: 当触发删除和换代事件时可用,指向的是被操作的笔录

澳门微尼斯人手机版 13

DROP TRIGGER IF EXISTS `tri_insert_user`;
DELIMITER ;;
CREATE TRIGGER `tri_insert_user` AFTER INSERT ON `user` FOR EACH ROW begin
    INSERT INTO user_history(user_id, operatetype, operatetime) VALUES (new.id, 'add a user',  now());
end
;;
DELIMITER ;

澳门微尼斯人手机版 14

  • 创造user表更新事件对应的触发器tri_update_user;

澳门微尼斯人手机版 15

DROP TRIGGER IF EXISTS `tri_update_user`;
DELIMITER ;;
CREATE TRIGGER `tri_update_user` AFTER UPDATE ON `user` FOR EACH ROW begin
    INSERT INTO user_history(user_id,operatetype, operatetime) VALUES (new.id, 'update a user', now());
end
;;
DELIMITER ;

澳门微尼斯人手机版 16

  • 创办user表删除事件对应的触发器tri_delete_user;

澳门微尼斯人手机版 17

DROP TRIGGER IF EXISTS `tri_delete_user`;
DELIMITER ;;
CREATE TRIGGER `tri_delete_user` AFTER DELETE ON `user` FOR EACH ROW begin
    INSERT INTO user_history(user_id, operatetype, operatetime) VALUES (old.id, 'delete a user', now());
end
;;
DELIMITER ;

澳门微尼斯人手机版 18

  • 从那之后,全体表及触发器创制完结,开首验证结果,分别做插入、修改、删除事件,试行以下语句,观看user_history是还是不是自动发出操作记录;

澳门微尼斯人手机版 19

INSERT INTO user(account, name, address) VALUES ('user1', 'user1', 'user1');
INSERT INTO user(account, name, address) VALUES ('user2', 'user2', 'user2');

UPDATE user SET name = 'user3', account = 'user3', address='user3' where name='user1';

DELETE FROM `user` where name = 'user2';

澳门微尼斯人手机版 20

  • 观测结果user表和user_history表的结果,操作记录已发生,表达触发器工作健康;

澳门微尼斯人手机版 21

mysql安装设置

1、创立mysql账号音讯

useradd -r -s /sbin/nologin -d /data/mysql -m mysql
#
#

澳门微尼斯人手机版 22

2、解压mysql二进制文件

澳门微尼斯人手机版 23

备考:必须解压到/usr/local目录下

3、创建mysql软连接

澳门微尼斯人手机版 24

4、修改mysql目录下有所的权杖

澳门微尼斯人手机版 25

澳门微尼斯人手机版,5、把推行文书bin放入$PATH全局变量

vim /etc/profile.d/mysql.sh

#

#

澳门微尼斯人手机版 26

让设置生效

. /etc/profile.d/mysql.sh
#
#

6、生成数据库文件

scripts/mysql_install_db  --datadir=/data/mysql --user=mysql
#
#

澳门微尼斯人手机版 27

7、编辑mysql配置文件

澳门微尼斯人手机版 28

备注:图上是复制配置模板覆盖原本的文本,根据意况来选着差别的模版文件

vim /etc/my.cnf
#
#

澳门微尼斯人手机版 29

备考:要专心这里数据库路线一定要和地方点名的寄存数据库文件的渠道一致

  date
参数是合法的日期表明式,能够是您必要的光阴字段,如start_time(假诺那是一个字段名)。

弊端

充实程序的复杂度,某件事情逻辑在代码中拍卖,有些事情逻辑用触发器管理,会使早先时期维护变得紧巴巴;

 

 

 

开发银行文件

1、把mysql运行文件放入init.d

澳门微尼斯人手机版 30

2、加入运转列表

澳门微尼斯人手机版 31

2、运维服务

service mysqld start
#
#

备注:倘诺开发银行战败,注意检查权限和路径

到那mysql是足以登陆了,可是将来不论三个顾客都得以登陆,无需密码验证,那样太不安全,上边简单的加强下

  INTE瑞鹰VAL 是牢固语法关键词

安然加固

mysql_secure_installation
#
#

澳门微尼斯人手机版 32

澳门微尼斯人手机版 33

  expr 参数是您愿意充分的光阴距离,如 1  2  5。

结果

点名root顾客 –p
输入密码登录

澳门微尼斯人手机版 34

  type 参数能够是下列值:

    FRAC_SECOND。毫秒

    SECOND。秒
    MINUTE。分钟
    HOUR。小时
    DAY。天
    WEEK。星期
    MONTH。月
    QUARTER。季度
    YEAR。年

发表评论

电子邮件地址不会被公开。 必填项已用*标注