国产成人精品18p,天天干成人网,无码专区狠狠躁天天躁,美女脱精光隐私扒开免费观看

MySQL8.0有什么新特性

發(fā)布時(shí)間:2021-08-27 12:16 來(lái)源:億速云 閱讀:0 作者:chen 欄目: Mysql 歡迎投稿:712375056

本篇內容介紹了“8.0有什么新特性”的有關(guān)知識,在實(shí)際案例的操作過(guò)程中,不少人都會(huì )遇到這樣的困境,接下來(lái)就讓小編帶領(lǐng)大家學(xué)習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學(xué)有所成!

一、MySQL 8.0中添加的功能

1、新的系統字典表

    整合了存儲有關(guān)數據對象信息的事務(wù)數據字典,所有的元數據都用InnoDB引擎進(jìn)行存儲

2、支持DDL 原子操作

    InnoDB表的DDL支持事務(wù)完整性,要么成功要么回滾,將DDL操作回滾日志寫(xiě)入到data dictionary 數據字典表 mysql.innodb_ddl_log 中用于回滾操作

3、安全和用戶(hù)管理

  • 新增caching_sha2_password認證插件,并且是默認的身份認證插件。性能和安全方面加強

  • 權限支持role

  • 新增密碼歷史記錄功能,限制重復使用以前的密碼

4、支持資源管理

    支持創(chuàng )建和管理資源組,并允許將運行的線(xiàn)程分配給特定的組,以便線(xiàn)程根據資源組可用的資源執行

5、innodb 增強

  • 自增列優(yōu)化,修復MySQL的bug#199,該bug導致在DB重啟時(shí),MySQL會(huì )將表上最大的自增值作為最大值,下次分配是分配max(id)+1,如果是歸檔表或者其它模式刪除數據后,DB系統重啟,自增值可能被重用

  • 新增INFORMATION_SCHEMA.INNODB_CACHED_INDEXES,查看每個(gè)索引緩存在InnoDB緩沖池中的索引頁(yè)數

  • InnoDB臨時(shí)表都將在共享臨時(shí)表空間ibtmp1中創(chuàng )建

  • 對于SELECT ... FOR SHARE和SELECT ... FOR UPDATE語(yǔ)句,InnoDB支持NOWAIT和SKIP LOCKED

  • innodb_undo_tablespaces的最小值為2,并且不再允許將innodb_undo_tablespaces設置為0。 最小值2確?;貪L段始終在撤消表空間中創(chuàng )建,而不是在系統表空間中創(chuàng )建

  • 支持 ALTER TABLESPACE ... RENAME TO 語(yǔ)法

  • 新增innodb_dedicated_server,讓InnoDB根據服務(wù)器上檢測到的內存量自動(dòng)配置innodb_buffer_pool_size,innodb_log_file_size,innodb_flush_method

  • 新增INFORMATION_SCHEMA.INNODB_TABLESPACES_BRIEF視圖

  • 新增了動(dòng)態(tài)配置項 innodb_deadlock_detect,用來(lái)禁用死鎖檢查,因為在高并發(fā)系統中,當大量線(xiàn)程等待同一個(gè)鎖時(shí),死鎖檢查會(huì )大大拖慢數據庫

  • 支持使用innodb_directories選項在服務(wù)器脫機時(shí)將表空間文件移動(dòng)或恢復到新位置

6、MySQL 8.0更好支持文檔型數據庫和JSON

7、優(yōu)化

  • 不可見(jiàn)索引,開(kāi)始支持invisible index,(感覺(jué)又和Oracle一樣了),在優(yōu)化SQL的過(guò)程中可以設置索引為不可見(jiàn),優(yōu)化器變不會(huì )利用不可見(jiàn)索引

  • 支持降序索引,可以對索引定義 DESC,之前,索引可以被反序掃描,但影響性能,而降序索引就可以高效的完成

8、支持RANK(), LAG()、NTILE()等函數 

9、正則表達式增強,提供了REGEXP_LIKE(),EGEXP_INSTR(), REGEXP_REPLACE(), REGEXP_SUBSTR()等函數  

10、新增備份鎖,允許在線(xiàn)備份期間的DML,同時(shí)防止可能導致快照不一致的操作。 備份鎖由LOCK INSTANCE FOR BACKUP和UNLOCK INSTANCE語(yǔ)法支持

11、字符集  默認字符集由latin1變?yōu)閡tf8mb4

12、配置文件增強

MySQL 8.0版本支持在線(xiàn)修改全局參數持久化,通過(guò)加上PERSIST關(guān)鍵字,可以將調整持久化到新的配置文件中,再次重啟db還可以應用到最新的參數。對于加上 PERSIST 關(guān)鍵字修改參數命令,MySQL系統會(huì )生成一個(gè)包含json格式數據的 mysqld-auto.cnf 文件,比如執行:

    set PERSIST  expire_logs_days=10 ; #內存和json文件都修改,重啟還生效

    set GLOBAL  expire_logs_days=10 ; #只修改內存,重啟丟失

系統會(huì )在數據目錄下生成一個(gè)包含如下內容的 mysqld-auto.cnf 的文件:

{ "mysql_server": {"expire_logs_days": "10" } }

當 my.cnf 和 mysqld-auto.cnf 同時(shí)存在時(shí),后者具有高優(yōu)先級。

13、直方圖

   MySQL 8.0 版本開(kāi)始支持期待已久直方圖。優(yōu)化器會(huì )利用column_statistics的數據,判斷字段的值的分布,得到更準確的執行計劃。

   可以使用 ANALYZE TABLE table_name [UPDATE HISTOGRAM on col_name with N BUCKETS |DROP HISTOGRAM ON  clo_name] 來(lái)收集或者刪除直方圖信息

14、支持會(huì )話(huà)級別SET_VAR 動(dòng)態(tài)調整部分參數,有利于提升語(yǔ)句性能。

select /*+ SET_VAR(sort_buffer_size = 16M) */ id  from test order id ; 

insert  /*+ SET_VAR(foreign_key_checks=OFF) */ into test(name) values(1);

15、默認參數的調整

調整back_log的默認值,保持和 max_connections一致,增強突發(fā)流量帶來(lái)的連接處理容量。

修改 event_scheduler 默認為ON,之前默認是關(guān)閉的。

調整max_allowed_packet 的默認值,從4M增加到64M。

調整bin_log,log_slave_updates默認值為on。

調整expire_logs_days的過(guò)期時(shí)間為30天,老版本是7天,生產(chǎn)環(huán)境時(shí),檢查該參數,防止binlog過(guò)多造成空間緊張。

調整innodb_undo_log_truncate 默認為ON

調整innodb_undo_tablespaces 默認值為2

調整innodb_max_dirty_pages_pct_lwm 默認值10

調整innodb_max_dirty_pages_pct默認值為90

新增innodb_autoinc_lock_mode 默認值為2

16、InnoDB性能提升

廢除buffer pool mutex,將原來(lái)一個(gè)mutex拆分成多個(gè),提高并發(fā)

拆分LOCK_thd_list 和 LOCK_thd_remove 這兩個(gè)mutex,大約可提高線(xiàn)程鏈接效率5%。

17、行緩存

 MySQL8.0的優(yōu)化器可以估算將要讀取的行數,因此可以提供給存儲引擎一個(gè)合適大小的row buffer來(lái)存儲需要的數據。大批量的連續數據掃描的性能將受益于更大的record buffer

18、改進(jìn)掃描性能

改進(jìn)InnoDB范圍查詢(xún)的性能,可提升全表查詢(xún)和范圍查詢(xún) 5-20%的性能。

19、成本模型

InnoDB緩沖區可以估算緩存區中的有多少表和索引,這可以讓優(yōu)化器選擇訪(fǎng)問(wèn)方式時(shí)知道數據是否可以存儲在內存中還是必須存儲到磁盤(pán)上。

20、重構SQL分析器

改進(jìn)SQL分析器。舊的分析器由于其語(yǔ)法復雜性和自頂向下的分析方式從而有嚴重的限制,導致難以維護和擴展。

二、MySQL8.0中被廢棄的特性

  • 廢棄validate_password 插件

  • 廢棄ALTER TABLESPACE和DROP TABLESPACE ENGINE子句

  • 廢棄JSON_MERGE()  -> JSON_MERGE_PRESERVE()取代

  • 廢棄 have_query_cache 系統變量 

三、MySQL8.0被移除的功能

  • query cache 功能被移除,相關(guān)的系統變量也被移除

  • mysql_install_db  被 mysqld --initialize or --initialize-insecure 替代

  • INFORMATION_SCHEMA下的INNODB_LOCKS和INNODB_LOCK_WAITS表已被刪除。 用Performance Schema data_locks和data_lock_waits表替代

  • INFORMATION_SCHEMA下的四張表移除:GLOBAL_VARIABLES, SESSION_VARIABLES, GLOBAL_STATUS, SESSION_STATUS

  • InnoDB不再支持壓縮的臨時(shí)表。

  • 不再支持 PROCEDURE ANALYSE()語(yǔ)法

Renamed InnoDB Information Schema Views

Old Name                                        New Name

INNODB_SYS_COLUMNS              INNODB_COLUMNS

INNODB_SYS_DATAFILES              INNODB_DATAFILES

INNODB_SYS_FIELDS                     INNODB_FIELDS

INNODB_SYS_FOREIGN                     INNODB_FOREIGN

INNODB_SYS_FOREIGN_COLS      INNODB_FOREIGN_COLS

INNODB_SYS_INDEXES                     INNODB_INDEXES

INNODB_SYS_TABLES                     INNODB_TABLES

INNODB_SYS_TABLESPACES            INNODB_TABLESPACES

INNODB_SYS_TABLESTATS              INNODB_TABLESTATS

INNODB_SYS_VIRTUAL                     INNODB_VIRTUAL

remove的server選項:

    --temp-pool 

    --ignore-builtin-innodb 

    --des-key-file 

    --log-warnings

    --ignore-db-dir    

remove的配置選項:

innodb_file_format

innodb_file_format_check

innodb_file_format_max

innodb_large_prefix

remove的系統變量

 information_schema_stats  ->information_schema_stats_expiry

ignore_builtin_innodb 

innodb_support_xa  

show_compatibility_56 

have_crypt 

date_format

datetime_format

time_format

max_tmp_tables

global.sql_log_bin(session.sql_log_bin保留)

log_warnings ->log_error_verbosity

multi_range_count

secure_auth

sync_frm

tx_isolation -> transaction_isolation

tx_read_only -> transaction_read_only

ignore_db_dirs

query_cache_limit

query_cache_min_res_unit

query_cache_size

query_cache_type

query_cache_wlock_invalidate

innodb_undo_logs -->innodb_rollback_segments

remove的狀態(tài)變量

Com_alter_db_upgrade 

Slave_heartbeat_period

Slave_last_heartbeat

Slave_received_heartbeats

Slave_retried_transactions, Slave_running

Qcache_free_blocks

Qcache_free_memory

Qcache_hits

Qcache_inserts

Qcache_lowmem_prunes

Qcache_not_cached

Qcache_queries_in_cache

Qcache_total_blocks

Innodb_available_undo_logs status 

remove的函數

JSON_APPEND() --> JSON_ARRAY_APPEND() 

ENCODE()

DECODE()

DES_ENCRYPT() 

DES_DECRYPT() 

remove的client選項:

--ssl  --ssl-verify-server-cert 被刪除,用--ssl-mode=VERIFY_IDENTITY |REQUIRED |DISABLED 替代 

--secure-auth

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng )、來(lái)自本網(wǎng)站內容采集于網(wǎng)絡(luò )互聯(lián)網(wǎng)轉載等其它媒體和分享為主,內容觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如侵犯了原作者的版權,請告知一經(jīng)查實(shí),將立刻刪除涉嫌侵權內容,聯(lián)系我們QQ:712375056,同時(shí)歡迎投稿傳遞力量。

AV无码一区二区二三区1区6区| 体验区试看120秒啪啪免费| 欧美日本日韩aⅴ在线视频| 国产精品55夜色66夜色| 亚洲综合少妇成人影院| 精品国产自线午夜福利|