mariaDB编译安装及事件介绍

#!/bin/bash

yum -y -q install bison bison-devel  zlib-devel libcurl-devel libarchive-devel  boost-devel  gcc  gcc-c++  cmake ncurses-devel gnutls-devel libxml2-devel openssl-devel libevent-devel libaio-devel

TAR=mariadb-10.2.32.tar.gz
PACKET=mariadb-10.2.32
CPUS=`lscpu |awk '/^CPU\(s/{print $2}'`

mkdir /data/mysql
useradd -r -s /sbin/nologin -d /data/mysql mysql
chown mysql.mysql /data/mysql

tar xvf ${TAR} -C /usr/local/src/
cd /usr/local/src/${PACKET}

cmake . \
-DCMAKE_INSTALL_PREFIX=/apps/mysql \
-DMYSQL_DATADIR=/data/mysql/ \
-DSYSCONFDIR=/etc/  \
-DMYSQL_USER=mysql \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1  \
-DWITHOUT_MROONGA_STORAGE_ENGINE=1 \
-DWITH_DEBUG=0 \
-DWITH_READLINE=1 \
-DWITH_SSL=system \
-DWITH_ZLIB=system \
-DWITH_LIBWRAP=0 \
-DENABLED_LOCAL_INFILE=1  \
-DMYSQL_UNIX_ADDR=/data/mysql/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci

make -j ${CPUS} && make install

echo 'PATH=/apps/mysql/bin/:$PATH' > /etc/profile.d/mysql.sh
.  /etc/profile.d/mysql.sh

cd /apps/mysql
scripts/mysql_install_db --datadir=/data/mysql/ --user=mysql

cp support-files/my-huge.cnf /etc/my.cnf
cp support-files/mysql.server /etc/init.d/mysqld
chkconfig --add mysqld
service mysqld start

 

Event事件

默认在MySQL中不开启,对应属性:@@event_scheduler

事件存放位置

mysql.event表

优缺点

优点:一些对数据定时性操作不再依赖外部程序,而直接使用数据库本身提供的功能,可以实现每秒钟执行一个任务,

这在一些对实时性要求较高的环境下就非常实用

缺点:定时触发,不可以直接调用

 

小练习

环境

+-------+---------------+-----+--------+---------+-----------+
| StuID | Name          | Age | Gender | ClassID | TeacherID |
+-------+---------------+-----+--------+---------+-----------+
|     1 | Shi Zhongyu   |  22 | M      |       2 |         3 |
|     2 | Shi Potian    |  22 | M      |       1 |         7 |
|     3 | Xie Yanke     |  53 | M      |       2 |        16 |
|     4 | Ding Dian     |  32 | M      |       4 |         4 |
|     5 | Yu Yutong     |  26 | M      |       3 |         1 |
|     6 | Shi Qing      |  46 | M      |       5 |      NULL |
|     7 | Xi Ren        |  19 | F      |       3 |      NULL |
|     8 | Lin Daiyu     |  17 | F      |       7 |      NULL |
|     9 | Ren Yingying  |  20 | F      |       6 |      NULL |
|    10 | Yue Lingshan  |  19 | F      |       3 |      NULL |
|    11 | Yuan Chengzhi |  23 | M      |       6 |      NULL |
|    12 | Wen Qingqing  |  19 | F      |       1 |      NULL |
|    13 | Tian Boguang  |  33 | M      |       2 |      NULL |
|    14 | Lu Wushuang   |  17 | F      |       3 |      NULL |
|    15 | Duan Yu       |  19 | M      |       4 |      NULL |
|    16 | Xu Zhu        |  21 | M      |       1 |      NULL |
|    17 | Lin Chong     |  25 | M      |       4 |      NULL |
|    18 | Hua Rong      |  23 | M      |       7 |      NULL |
|    19 | Xue Baochai   |  18 | F      |       6 |      NULL |
|    20 | Diao Chan     |  19 | F      |       7 |      NULL |
|    21 | Huang Yueying |  22 | F      |       6 |      NULL |
|    22 | Xiao Qiao     |  20 | F      |       1 |      NULL |
|    23 | Ma Chao       |  23 | M      |       4 |      NULL |
|    24 | Xu Xian       |  27 | M      |    NULL |      NULL |
|    25 | Sun Dasheng   | 100 | M      |    NULL |      NULL |
+-------+---------------+-----+--------+---------+-----------+

查询年龄大于25的男学生姓名和年龄

 select name 姓名,age 年龄 from students where age > 25;
+--------------+--------+
| 姓名         | 年龄   |
+--------------+--------+
| Xie Yanke    |     53 |
| Ding Dian    |     32 |
| Yu Yutong    |     26 |
| Shi Qing     |     46 |
| Tian Boguang |     33 |
| Xu Xian      |     27 |
| Sun Dasheng  |    100 |
+--------------+--------+
7 rows in set (0.00 sec)

以ClassID为分组依据,并显示每组的平均年龄

select age,classid,avg(age) from students group by classid;
+-----+---------+----------+
| age | classid | avg(age) |
+-----+---------+----------+
|  27 |    NULL |  63.5000 |
|  22 |       1 |  20.5000 |
|  22 |       2 |  36.0000 |
|  26 |       3 |  20.2500 |
|  32 |       4 |  24.7500 |
|  46 |       5 |  46.0000 |
|  20 |       6 |  20.7500 |
|  17 |       7 |  19.6667 |
+-----+---------+----------+
8 rows in set (0.00 sec)

显示上述条件中平均年龄大于30的分组及平均年龄

select age,classid,avg(age) from students group by classid having avg(age)>30;
+-----+---------+----------+
| age | classid | avg(age) |
+-----+---------+----------+
|  27 |    NULL |  63.5000 |
|  22 |       2 |  36.0000 |
|  46 |       5 |  46.0000 |
+-----+---------+----------+

 

posted @ 2020-09-26 16:35  天际之上可有蓝天  阅读(245)  评论(0)    收藏  举报