書名: 精通MySQL 8(視頻教學版)作者名: 劉華貞本章字數: 795字更新時間: 2019-11-22 18:46:01
1.3 MySQL 8移除的舊特性
在MySQL 8.0中本節介紹的內容已被移除。在MySQL 5.7版本上開發的應用程序如果使用了本節移除的特性,當從MySQL 5.7主站復制到MySQL 8.0從站時,語句可能會失敗,或者產生不同的執行結果。為了避免這些問題,對于使用了移除特性的應用,應當盡力修正避免使用這些特性,并盡可能使用替代方法。
1.3.1 查詢緩存
查詢緩存已被移除,刪除的項有:
(1)語句:FLUSH QUERY CACHE和RESET QUERY CACHE。
(2)系統變量:query_cache_limit、query_cache_min_res_unit、query_cache_size、query_cache_type、query_cache_wlock_invalidate。
(3)狀態變量:Qcache_free_blocks、Qcache_free_memory、Qcache_hits、Qcache_inserts、Qcache_lowmem_prunes、Qcache_not_cached、Qcache_queries_in_cache、Qcache_total_blocks。
(4)線程狀態:checking privileges on cached query、checking query cache for query、invalidating query cache entries、sending cached result to client、storing result in query cache、waiting for query cache lock。
1.3.2 加密相關
刪除的加密相關的內容有:ENCODE()、DECODE()、ENCRYPT()、DES_ENCRYPT()和DES_DECRYPT()函數,配置項des-key-file,系統變量have_crypt,FLUSH語句的DES_KEY_FILE選項,HAVE_CRYPT CMake選項。
對于移除的ENCRYPT()函數,考慮使用SHA2()替代,對于其他移除的函數,使用AES_ENCRYPT()和AES_DECRYPT()替代。
1.3.3 空間函數相關
在MySQL 5.7版本中,多個空間函數已被標記為過時。這些過時函數在MySQL 8中都已被移除,只保留了對應的ST_和MBR函數。
1.3.4 \N和NULL
在SQL語句中,解析器不再將\N視為NULL,所以在SQL語句中應使用NULL代替\N。這項變化不會影響使用LOAD DATA INFILE或者SELECT...INTO OUTFILE操作文件的導入和導出。在這類操作中,NULL仍等同于\N。
1.3.5 mysql_install_db
在MySQL分布中,已移除了mysql_install_db程序,數據字典初始化需要調用帶著--initialize或者--initialize-insecure選項的mysqld來代替實現。另外,--bootstrap和INSTALL_SCRIPTDIR CMake也已被刪除。
1.3.6 通用分區處理程序
通用分區處理程序已從MySQL服務中被移除。為了實現給定表分區,表所使用的存儲引擎需要自有的分區處理程序。
提供本地分區支持的MySQL存儲引擎有兩個,即InnoDB和NDB,而在MySQL 8中只支持InnoDB。
1.3.7 系統和狀態變量信息
在INFORMATION_SCHEMA數據庫中,對系統和狀態變量信息不再進行維護。GLOBAL_VARIABLES、SESSION_VARIABLES、GLOBAL_STATUS、SESSION_STATUS表都已被刪除。另外,系統變量show_compatibility_56也已被刪除。被刪除的狀態變量有Slave_heartbeat_period、Slave_last_heartbeat,Slave_received_heartbeats、Slave_retried_transactions、Slave_running。以上被刪除的內容都可使用性能模式中對應的內容進行替代。
1.3.8 mysql_plugin工具
mysql_plugin工具用來配置MySQL服務器插件,現已被刪除,可使用--plugin-load或--plugin-load-add選項在服務器啟動時加載插件或者在運行時使用INSTALL PLUGIN語句加載插件來替代該工具。
- Git Version Control Cookbook
- Docker技術入門與實戰(第3版)
- 程序設計與實踐(VB.NET)
- Mastering Selenium WebDriver
- Rust編程從入門到實戰
- Mastering Entity Framework
- HTML5+CSS3網站設計基礎教程
- Mastering Apache Spark 2.x(Second Edition)
- Gradle for Android
- Android程序設計基礎
- Apache Kafka Quick Start Guide
- Corona SDK Mobile Game Development:Beginner's Guide(Second Edition)
- 從零開始學Linux編程
- 快速入門與進階:Creo 4·0全實例精講
- 深度學習原理與PyTorch實戰(第2版)