作业四

本文提供了一键安装Mariadb数据库的脚本,并介绍了事件(Event)在Mariadb中的应用及其优缺点。此外,还展示了如何通过SQL查询解决具体问题,包括条件筛选和分组聚合等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、写一个一键安装 mariadb 数据库脚本。

#!/bin/bash
DIR=`pwd`  # 
NAME="mariadb-10.2.31-linux-x86_64.tar.gz"  # 下载的二进制mariadb包
FULL_NAME=${DIR}/${NAME}
DATA_DIR="/data/mysql"  # 数据库目录
MYSQL_DIR=`echo $NAME| sed -nr 's/^(.*[0-9]).*/\1/p'`   #mariadb-10.2.31-linux-x86_64

yum install libaio perl-Data-Dumper libtinfo* libncurses* autoconf -y
 
if [ -f ${FULL_NAME} ];then
    echo "安装文件存在"
else
    echo "安装文件不存在"
    exit 3
fi
if [ -h /usr/local/mysql ];then # 判断目录是否存在软链接
    echo "Mysql 已经安装"
    exit 3 
else
    tar xvf ${FULL_NAME}   -C /usr/local
    ln -sv /usr/local/${MYSQL_DIR}  /usr/local/mysql # 创建软链接
    if id  mysql;then
        echo "mysql 用户已经存在,跳过创建用户过程"
    fi
        useradd  mysql  -r -s /sbin/nologin  -d /data/mysql
    if  id  mysql;then
        chown  -R mysql.mysql  /usr/local/mysql/*
        if [ ! -d  /data/mysql ];then
            mkdir -pv /data/mysql && chown  -R mysql.mysql  /data/mysql  
						
        cp /usr/local/mysql/support-files/my-large.cnf   /etc/my.cnf   # 准备配置文件
		sed -r -i  '/^\[mysqld\]/adatadir=/data/mysql' /etc/my.cnf   # 用sed命令在数据库配置文件中添加/data/mysql作为数据库存放目录,否则数据库无法启动。			
			/usr/local/mysql/scripts/mysql_install_db  --user=mysql --datadir=/data/mysql  --basedir=/usr/local/mysql/ #创建数据库文件
		           
			cp  /usr/local/mysql/support-files/mysql.server  /etc/init.d/mysqld   # 准备服务脚本
            /usr/sbin/chkconfig --add mysqld 
            /usr/sbin/chkconfig mysqld on  #  设置为开机启动
			service mysqld start
            echo 'PATH=/usr/local/mysql/bin:$PATH' > /etc/profile.d/mysql.sh
            source /etc/profile.d/mysql.sh
			ln -sv /usr/local/mysql/bin/*  /usr/bin/  ##
        
    else
            echo "MySQL数据目录已经存在,"
            exit 3
    fi
    fi
fi

2、简述Event 事件介绍以及它的优缺点

Event 事件介绍
事件(event)是MySQL在相应的时刻调用的过程式数据库对象。一个事件可调用一次,也可周期性的启动,它由一个特定的线程来管理的,也就是所谓的“事件调度器”。
事件和触发器类似,都是在某些事情发生的时候启动。当数据库上启动一条语句的时候,触发器就启动了,而事件是根据调度事件来启动的。由于它们彼此相似,所以事件也称为临时性触发器。
事件取代了原先只能由操作系统的计划任务来执行的工作,而且MySQL的事件调度器可以精确到每秒钟执行一个任务,而操作系统的计划任务(如:Linux下的CRON或Windows下的任务计划)只能精确到每分钟执行一次。
事件的优缺点
优点:一些对数据定时性操作不再依赖外部程序,而直接使用数据库本身提供的功能,可以实现每秒钟执行一个任务,这在一些对实时性要求较高的环境下就非常实用
缺点:定时触发,不可以直接调用

3、在 students 表中,查询年龄大于25岁,且为男性的同学的名字和年龄:
(root@localhost) [hellodb]> select name,age,gender from students where age>25 and gender=‘M’;

4、在 students 表中,以 ClassID 为分组依据,查询显示每组的平均年龄
(root@localhost) [hellodb]> select avg(age),classid from students group by classid;

5、显示第4题中平均年龄大于30的分组及平均年龄
(root@localhost) [hellodb]> select avg(age),classid from students group by classid having avg(age)>30;

资源下载链接为: https://pan.quark.cn/s/3d8e22c21839 随着 Web UI 框架(如 EasyUI、JqueryUI、Ext、DWZ 等)的不断发展与成熟,系统界面的统一化设计逐渐成为可能,同时代码生成器也能够生成符合统一规范的界面。在这种背景下,“代码生成 + 手工合并”的半智能开发模式正逐渐成为新的开发趋势。通过代码生成器,单表数据模型以及一对多数据模型的增删改查功能可以被直接生成并投入使用,这能够有效节省大约 80% 的开发工作量,从而显著提升开发效率。 JEECG(J2EE Code Generation)是一款基于代码生成器的智能开发平台。它引领了一种全新的开发模式,即从在线编码(Online Coding)到代码生成器生成代码,再到手工合并(Merge)的智能开发流程。该平台能够帮助开发者解决 Java 项目中大约 90% 的重复性工作,让开发者可以将更多的精力集中在业务逻辑的实现上。它不仅能够快速提高开发效率,帮助公司节省大量的人力成本,同时也保持了开发的灵活性。 JEECG 的核心宗旨是:对于简单的功能,可以通过在线编码配置来实现;对于复杂的功能,则利用代码生成器生成代码后,再进行手工合并;对于复杂的流程业务,采用表单自定义的方式进行处理,而业务流程则通过工作流来实现,并且可以扩展出任务接口,供开发者编写具体的业务逻辑。通过这种方式,JEECG 实现了流程任务节点和任务接口的灵活配置,既保证了开发的高效性,又兼顾了项目的灵活性和可扩展性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值