四川開放大學24秋數據庫運維形考任務
實驗1 MySQL數據庫服務器配置(預備知識:第1,2章;分值:16分;需輔導教師評分)
1.實驗目的
掌握MySQL的安裝方法, 練習MySQL數據庫服務器的使用,理解MySQL服務器的組成,掌握MySQL服務器的配置方法。
2.實驗內容
【實驗1-1】下載當前最新版本的MySQL,或者之前某個版本的MySQL,并在Windows上完成安裝。
【實驗1-2】安裝完畢后,找到MySQL的配置文件;并查看初始化配置文件的內容。
【實驗1-3】使用start和stop命令啟動和關閉mysql數據庫。
【實驗1-4】連接到MySQL服務器,連接成功后是一個mysql>的提示。
【實驗1-5】在MySQL數據庫服務器端找到錯誤日志文件,并查看錯誤日志的內容。
【實驗1-6】通過初始化配置文件,啟用二進制日志、慢查詢日志和通用查詢日志。
【實驗1-7】查看二進制日志、慢查詢日志和通用查詢日志的內容。
【實驗1-8】關閉二進制日志、慢查詢日志和通用查詢日志。
【實驗1-9】用CREATE DATABASE語句創(chuàng)建數據庫,使用SHOW DATABASES命令查看顯示所有數據庫,可以看到新建的數據庫名稱。
【實驗1-10】使用Workbench圖形化管理工具創(chuàng)建數據庫。
【實驗1-11】使用SHOW STATUS命令查看系統(tǒng)狀態(tài)參數;使用SHOW VARIABLES命令查看服務器變量設置。
【實驗1-12】使用命令“select @@basedir”和“select @@datadir”尋找到MySQL的安裝目錄和數據存放目錄。
【實驗1-13】使用SHOW ENGINES查看所有引擎,在配置文件中更改默認存儲引擎default-storage-engine變量,改為MyISAM。重啟MySQL,查看默認存儲引擎是否改變。
【實驗1-14】創(chuàng)建一個數據表t_myisam(id int auto_increment, name varchar(30),primary key(id)),創(chuàng)建時顯式指定存儲引擎為MyISAM。使用“ALTER TABLE TABLE_NAME ENGINE=ENGINE_NAME”語句,更改表t_myisam的存儲引擎為InnoDB。
【實驗1-15】使用“SHOW TABLE STATUS FROM DB_NAME WHERE NAME =’TABLE_NAME’”和“SHOW CREATE TABLE TABLE_NAME”命令查看數據庫DB_NAME下表TABLE_NAME的存儲引擎。
【實驗1-16】InnoDB的I/O相關配置,根據公式:
事務日志的總大小= Innodb_log_files_size *Innodb_log_files_in_group
來設置64M大小的事務日志緩沖區(qū)并設置在每次事務提交執(zhí)行l(wèi)og寫入cache,并flush到磁盤。
3.實驗要求
(1)所有操作均在命令行或者MySQL Workbench中完成。
(2)將操作過程以屏幕抓圖的方式復制,形成實驗文檔,并對照本章內容寫出分析報告。
實驗2 MySQL數據庫對象管理(預備知識:第3章;分值:16分;需輔導教師評分)
1. 實驗目的
理解數據字典、表、索引、視圖的作用, 掌握數據字典的操縱方式,掌握庫、表、索引、視圖的操作方法。
2. 實驗內容
【實驗2-1】查看INFORMATION_SCHEMA.SCHEMATA 表中的信息。
【實驗2-2】查看INFORMATION_SCHEMA.TABLES 表中的信息。
【實驗2-3】查看INFORMATION_SCHEMA.COLUMNS 表中的信息。
【實驗2-4】查看INFORMATION_SCHEMA.STATISTICS 表中的信息。
【實驗2-5】查看INFORMATION_SCHEMA.CHARACTER_SETS 表中的信息。
【實驗2-6】查看INFORMATION_SCHEMA.COLLATIONS表中的信息。
【實驗2-7】使用CREATE DABASE語句創(chuàng)建school數據庫。
【實驗2-8】將school數據庫的字符集設為utf-8。
【實驗2-9】在school數據庫下創(chuàng)建stu_info表,包括stuno varchar(10)、stuname varchar(8)、stubir date、stuage int;創(chuàng)建表course,包括courno varchar(3)、courname varchar(10)、schyear date、credit int;創(chuàng)建stuandcour表,包括stuno varchar(10)、courno varchar(3)、grade int。
【實驗2-10】使用SHOW、DESCRIBE語句查看所建的表。
【實驗2-11】使用ALTER TABLE語句將stuinfo表的表名改為stuinfo,并且增加stugender varchar(4)字段,將course表中courno字段的類型改為varchar(5)。
【實驗2-12】將前邊建的表復制到test數據庫中,如果沒有test數據庫就新建一個。
【實驗2-13】刪除test數據庫中的course表。
【實驗2-14】創(chuàng)建stuinfo表上stuno的索引。
【實驗2-15】創(chuàng)建stuandcour表上stuno字段和courno字段上的多列索引。
【實驗2-16】刪除創(chuàng)建的索引。
【實驗2-17】創(chuàng)建stuinfo表上的單源視圖。
【實驗2-18】創(chuàng)建stuinfo表和stuandcour上的多源視圖,包含stuno、stuname、courno、grade。
【實驗2-19】分別通過訪問information_schema的views表和tables表,查看已經創(chuàng)建好的視圖;使用DESCRIBE語句查看已經創(chuàng)建好的視圖。
【實驗2-20】使用SELECT語句查詢創(chuàng)建好的視圖。
3. 實驗要求
(1)所有操作均在命令行或者MySQL Workbench中完成。
(2)將操作過程以屏幕抓圖的方式復制,形成實驗文檔,并對照本章內容寫出分析報告。
實驗3 數據庫安全性與完整性控制實驗(預備知識:第4章;分值:16分;需輔導教師評分)
1.實驗目的
練習安全性授權方法、 安全性和完整性查看的操作方法。
2.實驗內容
【實驗3-1】使用create user創(chuàng)建用戶,創(chuàng)建單個用戶teacher,創(chuàng)建兩個用戶teacher1和student。
【實驗3-2】通過直接操作MySQL用戶表創(chuàng)建用戶,創(chuàng)建單個用戶teacher2,創(chuàng)建兩個用戶teacher3和student2(請注意,新版的MySQL可能不支持使用此方法創(chuàng)建新用戶)。
【實驗3-3】新建一個terminal窗口,使用mysql –u –h -p方式登錄teacher。
【實驗3-4】再次新建一個terminal窗口,使用mysql –u –h -p方式登錄student。
【實驗3-5】使用GRANT語句對用戶student賦予所有數據庫所有表的insert權限和update權限。
【實驗3-6】使用GRANT語句對用戶student賦予school數據庫所有表的select權限。
【實驗3-7】使用GRANT語句對用戶student賦予school數據庫stuinfo表的create訪問權限。
【實驗3-8】使用GRANT語句對用戶student賦予school數據庫stuinfo表的stuno列上的select訪問權限。
【實驗3-9】使用GRANT語句對用戶student賦予s所有數據庫所有表的select訪問權限,并設定student每小時最多可使用select操作訪問數據庫的次數。
【實驗3-10】查看表INFORMATION_SCHEMA.USER_PRIVILEGES中有關student的信息,查看user表中的內容信息。
【實驗3-11】查看表INFORMATION_SCHEMA.SCHEMA_PRIVILEGES,找到student在school數據庫下擁有的權限。
【實驗3-12】查看表INFORMATION_SCHEMA.TABLE_PRIVILEGES,查找school數據庫中stuinfo數據表相關的表權限。
【實驗3-13】查看表INFORMATION_SCHEMA.COLUMN_PRIVILEGES,查找用戶sutdent的其中一條記錄,其數據庫為school,表名為stuinfo,列名為stuno,查看其授予權限類型。
【實驗3-14】首先進入school數據庫,如果沒有,創(chuàng)建一個school數據庫。
創(chuàng)建stuinfo表,包括stuno varchar(10)(加非空約束和主鍵約束)、stuname varchar(8)、stubir date、stuage int。
創(chuàng)建表course,包括courno varchar(3)(非空約束)、courname varchar(10)、schyear date(非空約束)、credit int,主鍵為課程號courno和學年schyear。
創(chuàng)建stuandcour表,包括stuno varchar(10)、courno varchar(3)、chono varchar(10),定義其主鍵為選課號chono,stuno為外鍵,參考stuinfo中的stuno列。
上述操作完成后,繼續(xù)向stuandcour數據表中添加新的字段schyear date,添加外鍵(courno,schyear)參照course表中的courno,并刪除時置空值。
【實驗3-15】查看表INFORMATION_SCHEMA.TABLES——存放數據庫中所有數據庫表信息,所得到的記錄值有很多條,然后觀察其內部字段表示,進一步篩選表名為stuinfo的記錄,school數據庫stuinfo表的所有基本信息都在這里描述。
【實驗3-16】查看表INFORMATION_SCHEMA.TABLE_CONSTRAINTS——存放表中所存在的約束信息。進一步篩選表名為stuandcour的記錄信息,可以看到關于該表有三條約束信息,與我們設定的一樣,其擁有兩個外鍵和一個主鍵。盡管這三種約束涉及四個列字段,但是基于表層面還是三個約束,因為有一個外鍵是由兩個列組成的。
【實驗3-17】查看表INFORMATION_SCHEMA.KEY_COLUMN_USAGE——存放數據庫里所有具有約束的鍵信息,然后通過對表名篩選,選出表stuandcour的所有以列為單位的約束信息,通過觀察可以得出該查詢結果與table級別約束的查詢結果個數不同,這里出現四個結果,列名COLUMN_NAME部分涉及stuandcour表中所有約束包含的全部列。據我們所知,stuandcour表的主鍵為chono,為第一行結果;第一個外鍵只有一列,該列為stuno,出現在第二行結果;第二個外鍵含有兩列,分別為courno、schyear,出現在第三行、第四行。
3.實驗要求
(1)所有操作均在命令行或者MySQL Workbench中完成。
(2)將操作過程以屏幕抓圖的方式復制,形成實驗文檔,并對照本章內容寫出分析報告。
實驗4 數據庫備份與恢復實驗(預備知識:第5章;分值:16分;需輔導教師評分)
1.實驗目的
練習數據庫備份與恢復的操作方法。 說明:實驗過程中可以使用MySQL官網提供實例employees數據庫,下載地址為https://launchpad.net/test-db/employees-db-1/1.0.6,也可以自己創(chuàng)建數據庫進行備份恢復實驗。
2.實驗內容
【實驗5-1】使用select…into…outfile語句對數據庫employees的表departments進行數據導出。
【實驗5-2】使用select…into…outfile語句對數據庫employees的表salaries進行數據導出,并使用fields字句指定字段值之間的符號分隔符為“,”,字段的包裹符號為“””。
【實驗5-3】 使用mysqldump命令備份數據庫中的某個表,對數據庫employees的表deparments導出SQL語句。
【實驗5-4】 使用mysqldump命令備份單個數據庫,對數據庫employees的導出SQL語句,并忽略數據表departments。
【實驗5-5】使用mysqldump命令備份多個數據庫,對數據庫employees、test兩個數據庫導出SQL語句。
【實驗5-6】使用mysqldump命令導出界定格式文件數據,對數據庫employees進行CSV文件數據的導出。
【實驗5-7】使用圖形化工具MySQL Workbench導出數據庫employees的表departments的CSV格式數據。
【實驗5-8】使用圖形化工具MySQL Workbench導出數據庫employees的表departments的SQL文件。
【實驗5-9】使用DELETE語句刪除employees數據庫的表departments的表格數據,使用LOAD DATA INFILE語句,通過【實驗5-1】導出的文件,對刪除的數據進行恢復,并使用SELECT語句對恢復的數據進行檢查。
【實驗5-10】 使用DELETE語句刪除employees數據的表salaries的表格數據,使用LOAD DATA INFILE語句以及FIELDS子句,通過【實驗5-2】導出的文件,對刪除的數據進行恢復,即字段值之間的符號分隔符為“,”,字段的包裹符號為“””。
【實驗5-11】使用DELETE語句刪除employees數據的表salaries的表格數據,使用mysqlimport命令,通過【實驗5-2】導出的文件,對刪除的數據進行恢復,即字段值之間的符號分隔符為“,”,字段的包裹符號為“””。
【實驗5-12】使用DROP命令employees數據庫下的除departments的所有數據表及其數據,使用mysql命令行工具,通過【實驗5-4】導出的SQL文件恢復刪除的數據。
【實驗5-13】使用DROP命令刪除數據庫employees和數據庫test,使用SOURCE語句,通過【實驗5-5】導出的SQL文件恢復刪除的數據。
【實驗5-14】 刪除數據庫employees的表departments中的數據,使用圖形化工具MySQL Workbench,通過【實驗5-7】恢復刪除的數據。
【實驗5-15】刪除數據庫employees的表departments及其數據,使用圖形化工具MySQL Workbench,通過【實驗5-8】恢復刪除的數據。
【實驗5-16】在時間點A使用mysqldump命令對數據庫employees導出SQL文件,進行邏輯備份,備份完成,創(chuàng)建一個表test,并插入數據,在時間點B刪除創(chuàng)建的表test,在時間點C再次創(chuàng)建一個表test2,并插入一條數據。在這個操作過程中在時間點B刪除表test是誤操作。使用mysqlbinlog進行基于時間點的恢復操作,即經過恢復之后employees數據庫中會同時存在數據表test2和數據表test。
3.實驗要求
(1)所有操作均在命令行或者MySQL Workbench中完成。
(2)將操作過程以屏幕抓圖的方式復制,形成實驗文檔,并對照本章內容寫出分析報告。
實驗5 數據庫性能監(jiān)視與優(yōu)化實驗(預備知識:第六章;分值:16分;需輔導教師評分)
1.實驗目的
理解數據庫性能概念,練習數據庫性能監(jiān)視命令方法, 能夠對數據庫性能進行優(yōu)化。
2.實驗內容
【實驗5-1】使用SHOW語句查詢設備吞吐量Questions、Com_Select、Com_insert、Com_update、Com_delete幾個指標值。
【實驗5-2】訪問Performance_schema中的events_statements_summary_by_digest表,獲取有關的延遲、錯誤和查詢量信息的性能指標。
【實驗5-3】使用SHOW語句查詢連接檢查指標Threads_connected、Threads_running、Connection_errors_internal、Aborted_connects和Connection_errors_max_connections。
【實驗5-4】使用SHOW語句查詢Innodb緩沖區(qū)指標Innodb_buffer_pool_pages_total、Innodb_buffer_pool_read_requests、Innodb_buffer_pool_reads。
【實驗5-5】使用SHOW語句獲取與查詢緩沖相關的指標:Qcache_free_blocks、Qcache_free_memory、Qcache_hits、Qcache_inserts、Qcache_lowmem_prunes、Qcache_not_cached、Qcache_queries_in_cache、Qcache_total_blocks。、
【實驗5-6】使用SHOW語句獲取關于臨時表的指標Created_tmp_disk_tables、Created_tmp_files、Created_tmp_tables。
【實驗5-7】使用SHOW語句獲取訪問表的數量指標Open_tables和Opened_tables。
【實驗5-8】使用SHOW PROCESSLIST命令查詢用戶正在運行的線程信息協(xié)助進行故障診斷。
【實驗5-9】調出慢查詢日志并利用mysqldumpslow來進行日志分析。
【實驗5-10】使用EXPLAIN EXTENDED命令查看帶有UNION子句的SELECT的執(zhí)行計劃。
【實驗5-11】使用EXPLAIN EXTENDED命令查看如下語句的執(zhí)行計劃:
SELECT * FROM t1 WHERE a1<10 AND (
EXISTS (SELECT a2 FROM t2 WHERE t2.a2<5 AND t2.b2=1) OR
EXISTS (SELECT a2 FROM t2 WHERE t2.a2<5 AND t2.b2=2));
【實驗5-12】使用EXPLAIN EXTENDED命令查看如下語句的執(zhí)行計劃:
SELECT * FROM t1, (SELECT * FROM t2 WHERE t2.a2 >10) v_t2
WHERE t1.a1<10 AND v_t2.a2<20;
【實驗5-13】創(chuàng)建一個表,并在適當字段上創(chuàng)建索引,對比在大數據量情形下使用索引與不使用索引的性能。
【實驗5-14】使用PROCEDURE ANALYSE檢查表列。
【實驗5-15】使用Inet_ATON將IP地址192.128.1.1轉換為數字,再將2130706433轉換為IP地址。
【實驗5-16】進行簡單的關聯查詢代替子查詢的重寫操作,并驗證其正確性和執(zhí)行效率的變化。
【實驗5-17】查詢SQL的最大連接數并修改其至合適的數值。
3.實驗要求
(1)所有操作均在命令行或者MySQL Workbench中完成。
(2)將操作過程以屏幕抓圖的方式復制,形成實驗文檔,并對照本章內容寫出分析報告。
(3)將操作所使用的命令對應的參數、參數含義、返回的內容、返回內容的含義整理到分析報告中一同給出。
奧鵬,國開,廣開,電大在線,各省平臺,新疆一體化等平臺學習
詳情請咨詢QQ : 3230981406或微信:aopopenfd777

