zoukankan      html  css  js  c++  java
  • 一键安装数据库脚本 以及简单的查询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;

     

     

  • 相关阅读:
    10 种保护 Spring Boot 应用的绝佳方法
    Redis 如何分析慢查询操作?
    Spring Boot 主类及目录结构介绍
    Redis 再牛逼,也得设置密码!!
    Spring Data Redis 详解及实战一文搞定
    Spring Boot Redis Cluster 实战干货
    超详细的 Redis Cluster 官方集群搭建指南
    Redis Linux 安装运行实战全记录
    hdu 4790 Just Random (思路+分类计算+数学)
    poj 1328 Radar Installation(贪心)
  • 原文地址:https://www.cnblogs.com/zhangty333/p/13732594.html
Copyright © 2011-2022 走看看