• 一键安装数据库脚本 以及简单的查询table内容


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

    适用于centos6,7

    先去官网去下载mariadb的二进制安装包
    https://downloads.mariadb.org/

    #!/bin/bash
     
    rpm -q mariadb &> /dev/null && echo `rpm -q mariadb` is installed && exit #判断系统是否已经安装mariadb数据库软件,若安装则进行提醒,并退出该脚本
    useradd -d /app/mysqldb -r -m -s /sbin/nologin mysql                          #-r创建系统用户,-d指定家目录,-m强制创建家目录,-s指定shell不允许这个用户登录
    cd

    tar xvf mariadb-10.3.24-linux-x86_64.tar.gz -C /usr/local
    #解压从官网下载的二进制压缩包
    cd /usr/local

    ln -s mariadb-10.3.24-linux-x86_64 mysql
    #创建软链接
    chown -R mysql:mysql /usr/local/mysql/                                       #更改属组
    cd /usr/local/mysql
    mkdir /etc/mysql/

    cp support-files/my-huge.cnf /etc/mysql/my.cnf
    #拷贝配置文件样例


    sed -i '/[mysqld]/adatadir = /app/mysqldb innodb_file_per_table = on skip_name_resolve = on' /etc/mysql/my.cnf
    #使用sed直接对/etc/mysql/my.cnf进行编辑

    #datadir = /app/data 设置数据存放目录
    #innodb_file_per_table = on 设置数据存储引擎
    #skip_name_resolve = on 禁止主机名解析

    cd /app/mysql
    scripts/mysql_install_db --user=mysql --datadir=/app/mysqldb
    #初始化数据库,创建数据库文件

    cp support-files/mysql.server /etc/init.d/mysqld #创建mariadb的服务程序

    #开始判断系统版本,用来创建数据库文件
    if [ `sed -r 's/.* ([0-9]+)..*/1/' /etc/centos-release` -eq 7 ]; then

          
    mkdir /var/log/mariadb/
         
     chown mysql /var/log/mariadb/
        systemctl enable mysqld
        systemctl start mysqld

    else
        touch /var/log/mysqld.log
        chown mysql /var/log/mysqld.log
        chkconfig --add mysqld
        service mysqld start
    fi

    echo 'PATH=$PATH:/usr/local/mysql/bin' > /etc/profile.d/mysql.sh . /etc/profile.d/mysql.sh
    #设置环境变量  并运行/etc/profile.d/mysql.sh
    #运行安全初始化脚本 mysql_secure_installation 指令会设置一下内容 
    #是否设置数据库管理员root口令,本脚本默认选择设置root口令#是否禁止root远程登录,本脚本默认选择允许root远程登录 
    #是否删除anonymous用户帐号,本脚本默认选择删除匿名用户账号
    #是否删除test数据库,本脚本默认选择保留test数据库
     

     当然也可以第二种方法

    yum -y install mariadb

    d=====( ̄▽ ̄*)b

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

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

     

    3、在 students 表中,查询年龄大于25岁,且为男性的同学的名字和年龄:

    select name,age from students where age>25 and gender='m' ;

    4、在 students 表中,以 ClassID 为分组依据,查询显示每组的平均年龄

    select classid,avg(age) from students where classid is not null group by classid;

    5、显示第2题中平均年龄大于30的分组及平均年龄

    select classid,avg(age) as avgage from students where classid is not null group by classid having avgage>30;

     

     

  • 相关阅读:
    python3.6配置flask
    jquery匿名函数和闭包(它山之石)笔记
    .net扩展方法
    对象继承
    MAC OS X PKG FILES
    NLP——天池新闻文本分类 Task2
    Python基础TASK1:变量与数据类型
    NLP——天池新闻文本分类 Task1
    随机分析与随机过程中的一些基本概念
    Java线程池
  • 原文地址:https://www.cnblogs.com/zhangty333/p/13732594.html
Copyright © 2020-2023  润新知