第十四周

1、 導入hellodb.sql生成數據庫

[root@centos7 mysql]#mysql < /data/hellodb.sql

(1) 在students表中,查詢年齡大於25歲,且爲男性的同學的名字和年齡 

MariaDB [hellodb]> select name,age from students where age>25 and gender='M';
+--------------+-----+
| name         | age |
+--------------+-----+
| Xie Yanke    |  53 |
| Ding Dian    |  32 |
| Yu Yutong    |  26 |
| Shi Qing     |  46 |
| Tian Boguang |  33 |
| Xu Xian      |  27 |
| Sun Dasheng  | 104 |
+--------------+-----+
7 rows in set (0.00 sec)

(2) 以ClassID爲分組依據,顯示每組的平均年齡

MariaDB [hellodb]> select classid, avg(age) from students group by classid; 
+---------+----------+
| classid | avg(age) |
+---------+----------+
|    NULL |  27.0000 |
|       1 |  20.5000 |
|       2 |  46.0000 |
|       3 |  20.2500 |
|       4 |  24.7500 |
|       5 |  46.0000 |
|       6 |  21.0000 |
|       7 |  20.0000 |
+---------+----------+
8 rows in set (0.00 sec)

(3) 顯示第2題中平均年齡大於30的分組及平均年齡

MariaDB [hellodb]> select classid, avg(age) as Avage from students group by classid having Avage>30;
+---------+---------+
| classid | Avage   |
+---------+---------+
|       2 | 46.0000 |
|       5 | 46.0000 |
+---------+---------+
2 rows in set (0.00 sec)

(4) 顯示以L開頭的名字的同學的信息

MariaDB [hellodb]> select * from students where name like 'L%';
+-------+-------------+-----+--------+---------+-----------+
| StuID | Name        | Age | Gender | ClassID | TeacherID |
+-------+-------------+-----+--------+---------+-----------+
|     8 | Lin Daiyu   |  17 | F      |       7 |      NULL |
|    14 | Lu Wushuang |  17 | F      |       3 |      NULL |
|    17 | Lin Chong   |  25 | M      |       4 |      NULL |
+-------+-------------+-----+--------+---------+-----------+
3 rows in set (0.00 sec)

2、數據庫授權magedu用戶,允許192.168.1.0/24網段可以連接mysql

MariaDB [mysql]> grant usage on . to 'magedu'@'192.168.1.%' identified by '123456';
Query OK, 0 rows affected (0.00 sec)

MariaDB [mysql]> flush privileges;
Query OK, 0 rows affected (0.00 sec)

MariaDB [mysql]> select host,User,Password from user where user='magedu';
+-------------+--------+-------------------------------------------+
| host | User | Password |
+-------------+--------+-------------------------------------------+
| 192.168.1.% | magedu | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |
+-------------+--------+-------------------------------------------+

1 row in set (0.00 sec)

3、總結mysql常見的存儲引擎以及特點。

1、InnoDB引擎:

  • 行級鎖
  • 支持事務,適合處理大量短期事務
  • 讀寫阻塞與事務隔離級別相關
  • 可緩存數據和索引
  • 支持聚簇索引
  • 崩潰恢復性更好
  • 支持MVCC高併發
  • 從MySQL5.5後支持全文索引
  • 從MySQL5.5.5開始爲默認的數據庫引擎
    2、 MyISAM :
  • 不支持事務
  • 表級鎖定
  • 讀寫相互阻塞,寫入不能讀,讀時不能寫
  • 只緩存索引
  • 不支持外鍵約束
  • 不支持聚簇索引
  • 讀取數據較快,佔用資源較少
  • 不支持MVCC(多版本併發控制機制)高併發
  • 崩潰恢復性較差
  • MySQL5.5.5前默認的數據庫引擎

3、BLACKHOLE :黑洞存儲引擎接受但不存儲數據,檢索總是返回一個空集。該功 能可用於分佈式數據庫設計,數據自動複製,但不是本地存儲;
4、Performance_Schema:Performance_Schema數據庫使用;
5、CSV:CSV存儲引擎使用逗號分隔值格式將數據存儲在文本文件中。可以使用 CSV引擎以CSV格式導入和導出其他軟件和應用程序之間的數據交換 ;
6、ARCHIVEArchive :爲存儲和檢索大量很少參考的存檔或安全審覈信息,只支持 SELECT和INSERT操作;支持行級鎖和專用緩存區;
7、MEMORY :將所有數據存儲在RAM中,以便在需要快速查找參考和其他類似 數據的環境中進行快速訪問。適用存放臨時數據。引擎以前被稱爲HEAP引擎;
8、Federated聯合:用於訪問其它遠程MySQL服務器一個代理,它通過創建一 個到遠程MySQL服務器的客戶端連接,並將查詢傳輸到遠程服務器執行,而 後完成數據存取,提供鏈接單獨MySQL服務器的能力,以便從多個物理服務 器創建一個邏輯數據庫。非常適合分佈式或數據集市環境 ;

架構班的小夥伴作業看這裏哦:

1、安裝部署ELK,並收集haproxy,nginx日誌

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章