MySQL 8.0.20 安裝新特性以及一些廢棄引數
8.0 New Feature
(1)授權表現在均為InnoDB
不會再發生一部分成功,一部分失敗的情況,要麼全成功,要麼全部回滾。
Incompatible Change: The grant tables in the mysql system database are now InnoDB (transactional) tables.
Previously, these were MyISAM (nontransactional) tables.
This change applies to these tables: user, db, tables_priv, columns_priv, procs_priv, proxies_priv
Previously, an account-management statement that named multiple users could succeed for some users and fail for others.
Now, each statement is transactional and either succeeds for all named users or rolls back and has no effect if any error occurs.
The statement is written to the binary log if it succeeds, but not if it fails; in that case, rollback occurs and no changes are made
(2)MySQL開始支援role角色
MySQL now supports roles
(3)引數變化
expire-logs-days # 已經廢棄,binlog_expire_logs_seconds取代,預設為30天
innodb_undo_tablespaces # 已經廢棄,innodb總會建立2個undo表空間,需要增加,使用CREATE UNDO TABLESPACE
internal_tmp_disk_storage_engine # 已經廢棄,8.0.16開始內部磁碟臨時表預設均為InnoDB儲存引擎。
character-set-server=utf8 #現在該引數utf8為utf8mb3別名,以後將改為utf8mb4
innodb_read_only # 原來只對InnoDB表生效,無法creating dropping,現在對所有表生效。
--log-tc-size #The hardcoded memory page size of 8KB for the memory-mapped
# transaction coordinator was too small for platforms such as
# ARM64 and PowerPC where the page size is much larger.
# 現在預設為記憶體頁的6倍。
validate_password_check_user_name # 現在預設開啟
validate_password # 預設開啟,會拒絕與當前使用者名稱相同的密碼。
innodb_deadlock_detect # 可以禁止死鎖檢測,防止多執行緒等待同一個鎖引發處理緩慢,可以透過設定 innodb_lock_wait_timeout
innodb_checksum_algorithm # 在5.6.3中取代了引數innodb_checksums
innodb_flush_method # 現在預設值Unix為fsync,windows為unbuffered
innodb_support_xa # 被移除, 預設支援兩階段提交
(4)mysql設定引數新引入SET PERSIST
SET PERSIST # SET引入設定可以動態global引數的同時會將引數持久化到data目錄下的mysqld-auto.cnf檔案,伺服器啟動會載入。
performance_schema.variables_info # 可以顯示最近修改的引數以及源。
(5)物理檔案變化
INFORMATION_SCHEMA.TABLES VERSION:.frm .trg .trn檔案將不存在,取而代之的均為資料字典,version欄位寫死為10,這是最後一個
支援.frm的版本MySQL 5.7的版本號。
(6)mysql_install_db已經被移出
mysql_install_db:已經被移除,初始化資料庫必須使用mysqld --initialize or --initialize-insecure
(7)引入ibd2sdi新命令列
ibd2sdi:新引入命令列工具,used to extract serialized dictionary information (SDI) from persistent InnoDB tablespaces
(8)支援Hint MERGE NO_MERGE
最佳化器現在支援表級別的hint:MERGE and NO_MERGE
SELECT /*+ MERGE(dt) */ * FROM (SELECT * FROM t1) AS dt;
SELECT /*+ NO_MERGE(dt) */ * FROM (SELECT * FROM t1) AS dt;
(9)支援invisible index
現在支援invisible index,最佳化器不會選擇使用索引,但是會正常維護索引,可以測試移除索引造成影響,又不破壞現有結構。
(10)performance_schema加強
現在performance_schema會收集伺服器錯誤:events_errors_summary_global_by_error,
events_errors_summary_by_account_by_error,
events_errors_summary_by_host_by_error,
events_errors_summary_by_thread_by_error,
events_errors_summary_by_user_by_error
performance_schema_error_size:控制收集錯誤數量。
(11)InnoDB引擎
--分割槽變化
通用分割槽處理器被移除,MySQL 8.0 InnoDB為唯一支援分割槽處理的儲存引擎,
移除分割槽可以用ALTER TABLE ... REMOVE PARTITIONING
升級之前,需要把非InnoDB儲存引擎分割槽表使用ALTER TABLE ... ENGINE=INNODB轉換為InnoDB
--InnoDB檔案變化
InnoDB:當在Data directory外建立表空間時,InnoDB不在建立.isl InnoDB動態連結檔案,
所以不再支援伺服器離線時,修改.isl移動遠端表空間操作,利用redo log定位遠端日誌檔案。
InnoDB:不再支援壓縮臨時表,當row_format=compressed時,innodb_strict_mode為true(default),create temporary table將報錯
(12)新引入資料字典表
INFORMATION_SCHEMA.INNODB_CACHED_INDEXES:顯示索引快取在記憶體中的頁數量。
(13)AUTO_INCREMENT加強
現在將AUTO_INCREMENT值寫入Redo log,寫入儲存引擎系統表,將自增最大值持久化,設定AUTO_INCREMENT=N不在不生效,
手工update AUTO_INCREMENT 列也生效。
(14)5.7與8.0升降級說明
(1)To upgrade to MySQL 8.0 from MySQL 5.7, you must perform the upgrade procedure described at Upgrading MySQL.
(2)Downgrading from MySQL 8.0 to MySQL 5.7 is only supported using the logical downgrade method (a mysqldump downgrade).
In-place downgrades are not supported.
參考:
MySQL 8.0 Reference Manual
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31439444/viewspace-2703977/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- PHP7.4 新特性和廢棄的功能PHP
- C# 9.0 新特性之 Lambda 棄元引數C#
- MySQL5.6中新增特性、不推薦使用的功能以及廢棄的功能MySql
- Bash 指令碼安裝 MySQL-8.0.20 資料庫指令碼MySql資料庫
- docker安裝mysql8.0.20並遠端連線DockerMySql
- MYSQL 5.6 安裝時cmake引數MySql
- statspack 安裝以及相關引數說明
- MySQL概述以及MySQL的安裝以及啟動MySql
- 【轉】oracle 10G中log_archive_start引數已經被廢棄Oracle 10gHive
- 10G新特性筆記之安裝新特性筆記
- httpd-2.4新特性簡單安裝(無php、無mysql)httpdPHPMySql
- MySQL 5.5編譯安裝cmake引數說明MySql編譯
- mysql一些引數的介紹MySql
- 將在版本11.2之後廢棄或不再支援的特性
- 10G 新特性系列:RMAN 新的引數-PREVIEWView
- 一些Julia 0.4版中有,被高版本廢棄的功能
- MySQL Cluster7.2.4初步安裝部署新特性效能測試等MySql
- MySQL 8.0.20 MGR資料遷移過程以及注意事項MySql
- Mysql--所有版本安裝以及完全解除安裝MySql
- Vue 插槽 廢棄語法Vue
- oracle ASM引數ASM_POWER_LIMIT以及其它一些引數詳解OracleASMMIT
- MySQL8.0新特性隨筆:NOWAIT以及SKIPLOCKEDMySqlAI
- mongod命令的一些引數以及引數--pidfilepath與mongod.lock區別Go
- 小米A1新機引數曝光 驍龍625、棄用MIUI?UI
- PHP編譯安裝引數PHP編譯
- windows安裝mysql以及安裝Navicat Premium並破解的方法WindowsMySqlREM
- MySQL · 特性分析 · MySQL 5.7新特性系列一MySql
- MySQL 8.0 新特性MySql
- MySQL 5.7新特性MySql
- go操作redis(已經廢棄)GoRedis
- 獲取安裝後Apache、MySQL、Nginx、PHP編譯時引數ApacheMySqlNginxPHP編譯
- 11gr2簡單安裝後的一些引數調整
- Oracle 12C新特性-資料泵新引數(LOGTIME)Oracle
- Oracle 12C新特性-資料泵新引數(VIEWS_AS_TABLES)OracleView
- iOS新特性引導頁iOS
- 伺服器安裝docker 以及使用docker安裝mysql及svn伺服器DockerMySql
- Linux 實現自動安裝服務元件以及優化核心引數Linux元件優化
- Kafka 1.0.0的安裝使用以及一些命令Kafka