MySQL 8.0.0開發里程碑版發布!_MySQL
MySQL 開發團隊於 12 日宣布 MySQL 8.0.0 開發里程碑版本(DMR)發布! 或許有人會驚訝 MySQL 為何從 5.x 一下跳躍到了 8.0。事實上,MySQL 5.x 系列已經延續了很多年,從被 Oracle 收購之前就是 5.1,而收購之後一直維持在 5.x,例如 5.5,5.6,5.7 等等。其實,如果按照原本的發布節奏,可以把 5.6.x 當成 6.x,5.7.x 當成 7.x。所以,只是換了版本命名方式而已。
不過這次發布的 MySQL 8.0.0 開發版本還是有不少亮點的。
MySQL 8.0.0 亮點
事務性資料字典,完全脫離了 MyISAM 儲存引擎
真正將資料字典放到了 InnoDB 中的一些表格中,從此不再需要 FRM、TRG、PAR 檔案! Information Schema 現在以資料字典表的一個視圖出現。原則上可以完全不需要 MyISAM 資料表類型了,所有的系統表都可以放到 InnoDB 之中。
SQL 角色
角色是一系列權限的集合。可以創建角色,授予某個使用者和移除角色。這對於權限管理很方便。
utf8mb4 字元集將成為預設字元集,並支援 Unicode 9
預設字元集將從 latin1 改為 utf8mb4,預設定序 collation 將從 latin1_swedish_ci 改為 utf8mb4_800_ci_ai。
不可見索引
可以將一些索引設為不可見,這樣 SQL 優化器就不會使用到它,但它會繼續在背景保持更新。當有需要時,可以隨時恢復可見。
對二進位資料可以進行位元操作
不僅可以對 BIGINT 進行位元操作,從 8.0 開始也支援對 [VAR]BINARY/[TINYMEDIUMLONG]BLOB 進行位元操作了。
改進了對 IPv6 和 UUID 的操作
INET6_ATON () 和 INET6_NTOA () 現在可以進行位元操作了,因為 INET6_ATON ()現在傳回的是 VARBINARY (16) 資料類型(128 位元)。改進了 UUID 操作,引入了三個新的函數 UUID_TO_BIN (), BIN_TO_UUID ()和 IS_UUID () 。 MySQL 並沒有特殊的 IPv6 和 UUID 資料類型,而是以 VARBINARY (16) 資料類型保存的。
持續性的全域變數
可以用 SET PERSIST 來設定持久性的全域變量,即便重啟也會保持下來。
效能資料庫 Performance Schema 的改進
例如在效能資料庫中增加了 100 多個索引,可以檢索更快。
重構 SQL 分析器
持續不斷的逐步改進 SQL 分析器。舊的分析器由於其語法複雜性和自頂向下的分析方式從而有嚴重的限制,導致難以維護和擴展。
成本模型
InnoDB 緩衝區現在可以估算主記憶體快取區中的有多少資料表和索引,這可以讓優化器選擇存取方式時知道資料是否可以儲存在記憶體中還是必須儲存到磁碟上。
直方圖 Histograms
透過使用直方圖,使用者或 DBA 可以對資料分佈進行統計,這可以用於查詢最佳化以尋找最佳化的查詢方案。
改進掃描性能
改進了 InnoDB 範圍查詢的效能,可提升全表查詢和範圍查詢 5-20% 的效能。
重建 BLOB
重構 BLOB 加速了片段讀取/更新操作,可以加速 JSON 資料的操作。
持久化自加值
InnoDB 會持久化保持自增序列的最大值到 redo 日誌中。這個改進也修復了一個非常老的 199 號 bug。
臨時表
取消對壓縮臨時表的支持,並將臨時表的元資料儲存到記憶體中。
其它的更多重要改進和細節,請參考 MySQL 8.0.0 發佈公告[1]和[2] 。
下載
目前 8.0.0 還是開發版本,如果你希望體驗和測試最新特性,可以從 dev.mysql.com[3] 下載各個平台的安裝包。不過,MySQL 軟體包是越來越大了,Linux 平台上的二進位打包後就將近有 1 GB。如果在產品環境中使用,在 8.0 沒有進入穩定版本之前,請繼續使用 5.7 系列,目前最新的版本是 5.7.15 GA 版本——這只有 600 M 多。
最新的源代碼放在GitHub 上,有興趣的朋友可以去看看,其中有不少是中國人的貢獻。
[1]:http://dev.mysql.com/doc/relnotes/mysql/8.0/en/
[2]:http://mysqlserverteam.com/the-mysql-8-0-0-milestone-release-is-available/
[3]:http://dev.mysql.com/downloads/mysql/

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

MySQL在Web應用中的主要作用是存儲和管理數據。 1.MySQL高效處理用戶信息、產品目錄和交易記錄等數據。 2.通過SQL查詢,開發者能從數據庫提取信息生成動態內容。 3.MySQL基於客戶端-服務器模型工作,確保查詢速度可接受。

在 Docker 中啟動 MySQL 的過程包含以下步驟:拉取 MySQL 鏡像創建並啟動容器,設置根用戶密碼並映射端口驗證連接創建數據庫和用戶授予對數據庫的所有權限

Laravel 是一款 PHP 框架,用於輕鬆構建 Web 應用程序。它提供一系列強大的功能,包括:安裝: 使用 Composer 全局安裝 Laravel CLI,並在項目目錄中創建應用程序。路由: 在 routes/web.php 中定義 URL 和處理函數之間的關係。視圖: 在 resources/views 中創建視圖以呈現應用程序的界面。數據庫集成: 提供與 MySQL 等數據庫的開箱即用集成,並使用遷移來創建和修改表。模型和控制器: 模型表示數據庫實體,控制器處理 HTTP 請求。

在開發一個小型應用時,我遇到了一個棘手的問題:需要快速集成一個輕量級的數據庫操作庫。嘗試了多個庫後,我發現它們要么功能過多,要么兼容性不佳。最終,我找到了minii/db,這是一個基於Yii2的簡化版本,完美地解決了我的問題。

優雅安裝 MySQL 的關鍵在於添加 MySQL 官方倉庫。具體步驟如下:下載 MySQL 官方 GPG 密鑰,防止釣魚攻擊。添加 MySQL 倉庫文件:rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm更新 yum 倉庫緩存:yum update安裝 MySQL:yum install mysql-server啟動 MySQL 服務:systemctl start mysqld設置開機自啟動

在 CentOS 上安裝 MySQL 涉及以下步驟:添加合適的 MySQL yum 源。執行 yum install mysql-server 命令以安裝 MySQL 服務器。使用 mysql_secure_installation 命令進行安全設置,例如設置 root 用戶密碼。根據需要自定義 MySQL 配置文件。調整 MySQL 參數和優化數據庫以提升性能。

文章摘要:本文提供了詳細分步說明,指導讀者如何輕鬆安裝 Laravel 框架。 Laravel 是一個功能強大的 PHP 框架,它 упростил 和加快了 web 應用程序的開發過程。本教程涵蓋了從系統要求到配置數據庫和設置路由等各個方面的安裝過程。通過遵循這些步驟,讀者可以快速高效地為他們的 Laravel 項目打下堅實的基礎。

MySQL与其他编程语言相比,主要用于存储和管理数据,而其他语言如Python、Java、C 则用于逻辑处理和应用开发。MySQL以其高性能、可扩展性和跨平台支持著称,适合数据管理需求,而其他语言在各自领域如数据分析、企业应用和系统编程中各有优势。
