国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

MySQL 8.0 OCP認證精講視頻、環(huán)境和題庫之五 事務(wù)、緩存 、表空間

這篇具有很好參考價值的文章主要介紹了MySQL 8.0 OCP認證精講視頻、環(huán)境和題庫之五 事務(wù)、緩存 、表空間。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

?redo log buffer:


? ?緩存與事務(wù)有關(guān)的redo log ,用來對mysql進行crash恢復(fù),不可禁用;
? ?日志緩沖區(qū)是存儲要寫入磁盤上日志文件的數(shù)據(jù)的內(nèi)存區(qū)域。日志緩沖區(qū)大小由innodb_Log_buffer_size變量定義。
? ?默認大小為16MB。日志緩沖區(qū)的內(nèi)容會定期刷新到磁盤。大型日志緩沖區(qū)使大型事務(wù)能夠運行,
? ?而無需在事務(wù)提交之前將重做日志數(shù)據(jù)寫入磁盤。因此,如果您有更新、插入或刪除許多行的事務(wù),
? ?那么增加日志緩沖區(qū)的大小可以節(jié)省磁盤I/O
變量innodb_log_buffer_size:
?? ?指定redo log buffer的大小;
變量innodb_log_group_home_dir:
? ? 指定redo log file的路徑
變量innodb_log_files_in_group :
?? ?每組日志組中包含的日志文件個數(shù);

?? ?mysql> show variables like 'innodb_log_group_home_dir';
?? ?+---------------------------+-------+
?? ?| Variable_name ? ? ? ? ? ? | Value |
?? ?+---------------------------+-------+
?? ?| innodb_log_group_home_dir | ./ ? ?|
?? ?+---------------------------+-------+
?? ?1 row in set (0.00 sec)?? ?
?? ?mysql> show variables like 'innodb_log_files_in_group';
?? ?+---------------------------+-------+
?? ?| Variable_name ? ? ? ? ? ? | Value |
?? ?+---------------------------+-------+
?? ?| innodb_log_files_in_group | 2 ? ? |
?? ?+---------------------------+-------+
?? ?1 row in set (0.00 sec)

?? ?mysql> show variables like 'datadir';
?? ?+---------------+-------------------+
?? ?| Variable_name | Value ? ? ? ? ? ? |
?? ?+---------------+-------------------+
?? ?| datadir ? ? ? | /data/mysql/data/ |
?? ?+---------------+-------------------+
?? ?1 row in set (0.00 sec)

?? ?mysql>?
? ? [root@student ~]# ls ?/data/mysql/data/*logfile*
? ? /data/mysql/data/ib_logfile0 ?/data/mysql/data/ib_logfile1
? ? 組中共有兩個logfile
? ? [root@student ~]# du -m ?/data/mysql/data/*logfile* ? ? #48MB
?? ?48?? ?/data/mysql/data/ib_logfile0
?? ?48?? ?/data/mysql/data/ib_logfile1
?? ?[root@student ~]#?
? ? mysql> show variables like 'innodb_log_file_size'; ?#日志大小
?? ?+----------------------+----------+
?? ?| Variable_name ? ? ? ?| Value ? ?|
?? ?+----------------------+----------+
?? ?| innodb_log_file_size | 50331648 |
?? ?+----------------------+----------+
?? ?1 row in set (0.01 sec)
?? ?mysql> select 50331648/1024/1024;
?? ?+--------------------+
?? ?| 50331648/1024/1024 |
?? ?+--------------------+
?? ?| ? ? ? ?48.00000000 |
?? ?+--------------------+
?? ?1 row in set (0.00 sec)

?? ?mysql>?
? 修改日志組和日志文件大小
?? ?[root@student ~]# systemctl stop mysql
?? ?[root@student ~]# cat ?/etc/my.cnf
?? ?[mysqld]
?? ?datadir=/data/mysql/data/
?? ?socket=/data/mysql/mysql.sock

?? ?innodb_buffer_pool_chunk_size=64M
?? ?innodb_buffer_pool_size=256M

?? ?innodb_log_file_size=100M
?? ?innodb_log_files_in_group=4
?? ?
? ?[root@student ~]# systemctl start mysql
?? ?mysql> show variables like '%innodb_log%';
?? ?+------------------------------------+-----------+
?? ?| Variable_name ? ? ? ? ? ? ? ? ? ? ?| Value ? ? |
?? ?+------------------------------------+-----------+
?? ?| innodb_log_buffer_size ? ? ? ? ? ? | 16777216 ?|
?? ?| innodb_log_checksums ? ? ? ? ? ? ? | ON ? ? ? ?|
?? ?| innodb_log_compressed_pages ? ? ? ?| ON ? ? ? ?|
?? ?| innodb_log_file_size ? ? ? ? ? ? ? | 104857600 | ? #100MB?
?? ?| innodb_log_files_in_group ? ? ? ? ?| 4 ? ? ? ? | ? #4個logfile?
?? ?| innodb_log_group_home_dir ? ? ? ? ?| ./ ? ? ? ?|
?? ?| innodb_log_spin_cpu_abs_lwm ? ? ? ?| 80 ? ? ? ?|
?? ?| innodb_log_spin_cpu_pct_hwm ? ? ? ?| 50 ? ? ? ?|
?? ?| innodb_log_wait_for_flush_spin_hwm | 400 ? ? ? |
?? ?| innodb_log_write_ahead_size ? ? ? ?| 8192 ? ? ?|
?? ?+------------------------------------+-----------+
?? ?[root@student ~]# du -m ?/data/mysql/data/ib_logfile*
?? ?100?? ?/data/mysql/data/ib_logfile0
?? ?100?? ?/data/mysql/data/ib_logfile1
?? ?100?? ?/data/mysql/data/ib_logfile2
?? ?100?? ?/data/mysql/data/ib_logfile3
?? ?[root@student ~]#?
?? ?
?? ?redo log buffer:緩存與事務(wù)有關(guān)的redo log,用來對mysqldi進行crash恢復(fù),不可禁用
?? ?變量innodb log buffer size:指定redo log buffer的大小
?? ?變量innodb_log_group_home_dir:指定redo log文件的路徑
?? ?變量innodb_log_files_in_group:指定Redo log.文件的數(shù)量
?? ?變量innodb_log_file_size:指定每個redo log文件的大小
?? ?實驗:redo log的設(shè)置:
?? ?1、查看上述變量I
?? ?2、通過set命令指定redo log buffer的大小為32M
?? ?3、在選項文件中指定相關(guān)變量,設(shè)置redo log buffer的大小為32M,設(shè)置redo log.文件為4個,每個文件100M
?? ?重新啟動mysqld服務(wù),再此查看上述變量

存儲引擎

列出 mysql所支持的存儲引擎
mysql>show engines;

默認存儲引擎為innoDB,不可禁用

mysql> show engines;
MySQL 8.0 OCP認證精講視頻、環(huán)境和題庫之五 事務(wù)、緩存 、表空間,my sql8.0,數(shù)據(jù)庫,ocp,數(shù)據(jù)庫,mysql8.0,運維開發(fā),1024程序員節(jié)

只有InnoDB ?和DBcluster支持事務(wù)acid

mysql> use testdb
mysql> create table t1(id integer);
mysql> start transaction;
mysql> insert into t1 values(1);
mysql> select * from t1;
+------+
| id ? |
+------+
| ? ?1 |
+------+
1 row in set (0.00 sec)

mysql> insert into t1 values('xyz');
ERROR 1366 (HY000): Incorrect integer value: 'xyz' for column 'id' at row 1
mysql> rollback;
mysql> select * from t1;
Empty set (0.00 sec)

#體現(xiàn)要么全部成功,要么全部失敗

LAMP:Linux Apache mysql PHP

加鎖的級別:


?? ?InnoDB:行級鎖
?? ?MyISAM:表級鎖
數(shù)據(jù)字典:系統(tǒng)表
表空間:一種邏輯結(jié)構(gòu),用于組織表和索引,位于表和數(shù)據(jù)文件之間

實驗1:存儲引擎


1、創(chuàng)建數(shù)據(jù)庫testdb,進入數(shù)據(jù)庫
? ? create databases testdb;
?? ?use testdb;
2、 創(chuàng)建表t1,存儲引擎為myisam
?? ?create table t1(id integer) engine=myisam
3、在表上執(zhí)行事務(wù),觀察事務(wù)的rollback
?? ?start transaction;
?? ?insert into t1 values(100);
?? ?insert into t1 values('xyz');#觀賽錯誤信息;
?? ?rollback ;
?? ?mysql> rollback ; #回滾之后數(shù)據(jù)還在,因為mysql 不支持ACID
?? ?Query OK, 0 rows affected, 1 warning (0.00 sec)
?? ?mysql> select * from t1;
?? ?+------+
?? ?| id ? |
?? ?+------+
?? ?| ?100 |
?? ?+------+
?? ?1 row in set (0.00 sec)


4、創(chuàng)建表t2 存儲引擎為innodb,在表上執(zhí)行事務(wù),觀察事務(wù)的rollback
?? ?create table t2(id integer) engine=innodb;
?? ?start transaction;
?? ?insert into ?t2 values(100);
?? ?insert into ?t2 values('xyz');#觀賽錯誤信息;
?? ?rollback; ? ? ? ? ? ? ? ? ? ? #rollback 之后,剛插入的數(shù)據(jù)全部回滾
?? ?
?? ?mysql> select * from t2;
?? ?Empty set (0.00 sec)

5、 把t1表的存儲引擎改為innnodb;
? ? alter table t1 engine innodb;
?? ?mysql> start transaction;
?? ?Query OK, 0 rows affected (0.00 sec)

?? ?mysql> insert into t1 values(22);
?? ?Query OK, 1 row affected (0.00 sec)

?? ?mysql> ?insert into ?t2 values('xyz');
?? ?ERROR 1366 (HY000): Incorrect integer value: 'xyz' for column 'id' at row 1
?? ?mysql> rollback;
?? ?Query OK, 0 rows affected (0.02 sec)

?? ?mysql> select * from t1;
?? ?+------+
?? ?| id ? |
?? ?+------+
?? ?| ?100 |
?? ?+------+
?? ?1 row in set (0.00 sec)

?? ?mysql>?
?

表空間

表空間的類型

  1. ?? ?System Tablespace
  2. ?? ?Undo Tablespaces
  3. ?? ?General Tablespaces
  4. ?? ?File-Per-Table Tablespaces
  5. ?? ?Temporary Tablespace

? ?System Tablespace

?在MySQL 8.0中,InnoDB將元數(shù)據(jù)存儲在MySQL數(shù)據(jù)字典中.在以前的MySQL版本中,系統(tǒng)表空間也包含雙寫緩沖區(qū)存儲(Doublewrite Buffer)區(qū)域。從MySQL 8.0.20開始,此存儲區(qū)域位于單獨的雙寫文件中.

系統(tǒng)表空間可以有一個或多個數(shù)據(jù)文件。默認情況下,在數(shù)據(jù)目錄中創(chuàng)建一個名為ibdata1的系統(tǒng)表空間數(shù)據(jù)文件。

與系統(tǒng)表空間有關(guān)的變量:

????????innodb_data_file_path:系統(tǒng)表空間數(shù)據(jù)文件的名稱、初始大小和數(shù)量,是否自動擴展;

?????????innodb_data_home_dir? ?:系統(tǒng)表空間數(shù)據(jù)文件的路徑,如果為空,則是數(shù)據(jù)文件路徑?

????????innodb_autoextend_increment:每次擴展系統(tǒng)表空間時的自動擴展量

mysql> show variables like '%innodb_data%';
+-----------------------+------------------------+
| Variable_name ? ? ? ? | Value ? ? ? ? ? ? ? ? ?|
+-----------------------+------------------------+
| innodb_data_file_path | ibdata1:12M:autoextend |
| innodb_data_home_dir ?| ? ? ? ? ? ? ? ? ? ? ? ?|
+-----------------------+------------------------+
2 rows in set (0.00 sec)

[root@student ~]# du -m ?/data/mysql/data/ibdata1;
12?? ?/data/mysql/data/ibdata1

mysql> show variables like 'innodb_autoextend_increment';
+-----------------------------+-------+
| Variable_name ? ? ? ? ? ? ? | Value |
+-----------------------------+-------+
| innodb_autoextend_increment | 64 ? ?|
+-----------------------------+-------+
1 row in set (0.01 sec)

擴展系統(tǒng)表空間

需要在配置文件中更改

擴容:

[mysqld]
datadir=/data/mysql/data/
socket=/data/mysql/mysql.sock

innodb_buffer_pool_chunk_size=64M
innodb_buffer_pool_size=256M

innodb_log_file_size=100M
innodb_log_files_in_group=4

#innodb_data_file_path=ibdata1:10M:autoextend
innodb_data_home_dir=
innodb_data_file_path=/data/mysql/data/ibdata1:12M;/data/mysql/data/ibdata2:480M:autoextend:max:960M
不能通過更改現(xiàn)有系統(tǒng)表空間數(shù)據(jù)文件的大小屬性來增加其大小。例如,在啟動服務(wù)器時,將innodb_data_file_path設(shè)置從ibdata1:12M:autoextend更改為ibdata1:120M:autoextend會生以下?類似錯誤:

[ERROR] [MY-012263] [InnoDB] The Auto-extending innodb_system data file './ibdata1' is of a different size 640 pages (rounded down to MB) than specified in the .cnf file: initial 768 pages, max 0 (relevant if non-zero) pages!
###只有最后一個文件才可以自動擴展

驗證

mysql> show variables like '%innodb_data%';
+-----------------------+--------------------------------------------------------------------------------+
| Variable_name ? ? ? ? | Value ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?|
+-----------------------+--------------------------------------------------------------------------------+
| innodb_data_file_path | /data/mysql/data/ibdata1:12M;/data/mysql/data/ibdata2:480M:autoextend:max:960M |
| innodb_data_home_dir ?| ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?|
+-----------------------+--------------------------------------------------------------------------------+
2 rows in set (0.01 sec)

mysql>?
?

縮容

不支持減小現(xiàn)有系統(tǒng)表空間的大小。實現(xiàn)較小系統(tǒng)表空間的唯一選擇是將數(shù)據(jù)從備份恢復(fù)到使用所需系統(tǒng)表空間大小配置創(chuàng)建的新MySQL實例。

為系統(tǒng)表空間使用原始磁盤分區(qū)

MySQL :: MySQL 8.0 Reference Manual :: 15.6.3.1 The System Tablespace

Temporary Tablespaces

?

session temporary tablespaces?

?InnoDB:
會話臨時表空間存儲用戶創(chuàng)建的臨時表和優(yōu)化器創(chuàng)建的內(nèi)部臨時表。從MySQL 8.0.16開始,用于磁盤內(nèi)部臨時表的存儲引擎是InnoDB。(以前,存儲引擎由internal_tmp_disk_storage_engine的值決定。)

會話臨時表空間文件創(chuàng)建時大小為五頁,文件擴展名為.ibt。

[root@student ~]# du -m ?/data/mysql/data/ibtmp1
12?? ?/data/mysql/data/ibtmp1
innodb_tmp_tablespaces_dir:變量定義了創(chuàng)建會話臨時表空間的位置。默認位置是數(shù)據(jù)目錄中的#innodb_temp目錄。

INNODB_SESSION_TEMP_TABLESPACES:表提供有關(guān)會話臨時表空間的元數(shù)據(jù)。

Information Schema INNODB_TEMP_TABLE_INFO:表提供了關(guān)于用戶創(chuàng)建的臨時表的元數(shù)據(jù),這些臨時表在INNODB實例中處于活動狀態(tài)。


global temporary tablespace.

全局臨時表空間(ibtmp1)存儲對用戶創(chuàng)建的臨時表所做更改的回滾段。

innodb_temp_data_file_path?

innodb_temp_data_file_path 變量定義全局臨時表空間數(shù)據(jù)文件的相對路徑、名稱、大小和屬性。如果沒有為innodb_temp_data_file_path指定值,則默認行為是在innodb_data_home_dir目錄中創(chuàng)建一個名為ibtmp1的自動擴展數(shù)據(jù)文件。初始文件大小略大于12MB。

腳本的執(zhí)行
mysql>source 腳本文件
mysql -uroot -p密碼 ? <腳本文件
事務(wù)自動提交

?Undo tablespaces

********************************************************************************
** ? ?Undo tablespaces
********************************************************************************

Undo tablespaces包含撤消日志,這些日志是記錄的集合,包含有關(guān)如何撤消事務(wù)對聚集索引記錄的最新更改的信息
create.drop ,delete ,update ,insert ; 存儲undo數(shù)據(jù),由rollback段組成,功能:允許用戶回滾事務(wù)

mysql5.7不單獨提供Undo tablespaces,從MySQL8.0開始提供

默認Undo tablespaces
?? ?show variables like 'innodb_undo_directory%';
?? ?show variables like 'innodb_undo_tablespaces';
?? ?show variables like ‘%innodb_max_undo_log_size’;
?? ?show variables like ‘innodb_undo_log_truncate‘;
?? ?
?? ?MySQL實例初始化時會創(chuàng)建兩個默認的undo表空間。默認的撤消表空間是在初始化時創(chuàng)建的,以便為回滾段提供一個位置,回滾段必須存在才能接受SQL語句。至少需要兩個撤消表空間來支持撤消表空間的自動截斷。
? ? show variables like '%datadir%
?? ?+---------------+-------------------+
?? ?| Variable_name | Value ? ? ? ? ? ? |
?? ?+---------------+-------------------+
?? ?| datadir ? ? ? | /data/mysql/data/ |
?? ?+---------------+-------------------+
?? ?[root@student ~]# du -m /data/mysql/data/undo*
?? ?10?? ?/data/mysql/data/undo_001
?? ?10?? ?/data/mysql/data/undo_002
?? ?[root@student ~]#?
?? ?mysql> show variables like 'innodb_undo_tablespaces';
?? ?+-------------------------+-------+
?? ?| Variable_name ? ? ? ? ? | Value |
?? ?+-------------------------+-------+
?? ?| innodb_undo_tablespaces | 2 ? ? | ?##默認值
?? ?+-------------------------+-------+
?? ?1 row in set (0.00 sec)
? ??

Undo tablespaces大小
?? ?在MySQL 8.0.23之前,undo表空間的初始大小取決于innodb_page_size值。對于默認的16KB頁面大小,初始撤消表空間文件大小為10MiB
?? ?innodb_page_size ? ? undo tablespace大小
?? ? ? ? ?4k ? ? ? ? ? ? ? ? 7MiB?
?? ??? ? ?8K ? ? ? ? ? ? ? ? 8M
?? ??? ? ?32KB ? ? ? ? ? ? ? 20MiB
?? ??? ? ?64KB ? ? ? ? ? ? ? 40MiB
?? ?從MySQL 8.0.23開始,undo表空間的初始大小通常為16MiB。?? ? ?
?? ?在MySQL 8.0.23之前,undo表空間一次擴展四個區(qū)段。從MySQL 8.0.23開始,undo表空間至少擴展了16MB。如果AUTOEXTEND_SIZE選項是為撤消表空間定義的,則它將由AUTOEXTEND _SIZE設(shè)置和由上述邏輯確定的擴展大小中的較大者進行擴展?? ? 。
?? ?show variables like '%AUTOEXTEND _SIZE%';
?? ?練習(xí):
?? ??? ?改innodb_undo_tablespaces=4 ,在選項文件中設(shè)置;
?? ?[root@student ~]# cat /etc/my.cnf|grep innodb_undo_tablespaces=4
?? ?innodb_undo_tablespaces=4
?? ?
?? ?SELECT TABLESPACE_NAME, FILE_NAME FROM INFORMATION_SCHEMA.FILES
? ? WHERE FILE_TYPE LIKE 'UNDO LOG';

?? ??? ?
? ??
添加Undo tablespaces
?? ?MySQL 8.0.14
?? ?在MySQL 8.0.14之前,通過配置innodb_undo_tablespace啟動變量可以創(chuàng)建額外的undo表空間。
?? ?
? ? 從MySQL8.0.14開始,innodb_undo_tablespaces 初始化時指定的數(shù)量,如要創(chuàng)建更多的undo表空間
?? ?從MySQL8.0.14開始 innodb_undo_tablespaces已不再可用。
?? ?
?? ?CREATE UNDO TABLESPACE tablespace_name ADD DATAFILE 'file_name.ibu';
?? ?語法
?? ?https://dev.mysql.com/doc/refman/8.0/en/create-tablespace.html
?? ?show variables like '%innodb_directories%';
? ? 撤消表空間文件名必須具有擴展名。不允許定義撤消表空間文件時指定相對路徑。
?? ?innodb_directories?
?? ?innodb_data_home_dir
?? ?innodb_undo_directory?
?? ?datadir?
?? ?撤消表空間文件名不包含路徑,則由innodb_undo_directory指定。
?? ?innodb_undo_directory未指定,則由datadir指定。
?? ?
?? ?要查看撤消表空間名稱和路徑
? ? SELECT TABLESPACE_NAME, FILE_NAME FROM INFORMATION_SCHEMA.FILES ? WHERE FILE_TYPE LIKE 'UNDO LOG';?
?? ?一個 MySQL 實例最多支持 127 個撤消表空間,包括 MySQL 實例創(chuàng)建的兩個默認撤消表空間 已初始化。
?? ?

刪除Undo tablespaces
?? ?從MySQL 8.0.14開始,可以在運行時創(chuàng)建或刪除Undo tablespaces。
?? ?1、Undo tablespaces的活動狀態(tài):
?? ??? ?ALTER UNDO TABLESPACE tablespace_name SET INACTIVE;
?? ?2、刪除Undo tablespaces:
?? ??? ?DROP UNDO TABLESPACE tablespace_name;
?? ?3、查詢,以確認。
?? ??? ?SELECT NAME, STATE FROM INFORMATION_SCHEMA.INNODB_TABLESPACES ? WHERE NAME LIKE 'tablespace_name';
?? ?
移動Undo tablespaces
?? ?在服務(wù)離線時,由CREATE UNDO TABLESPACE創(chuàng)建時的UNDO TABLESPACE可以移動任何已知的目錄:
?? ?innodb_directories?
?? ?innodb_data_home_dir
?? ?innodb_undo_directory
?? ?datadir?
?? ?
配置 Rollback Segments的數(shù)量
?? ? innodb_rollback_segments為每個undo tablespace和global temporary tablespace指定回滾段的數(shù)量
?? ? innodb_rollback_segments 默認是 128個,具體可參考 “Undo Logs”.
?? ? ?
截斷Undo tablespaces
?? ?方法1:自動化。在沒有手動干預(yù)的情況下對撤消表空間自動執(zhí)行停用、截斷和重新激活。
?? ??? ?SET GLOBAL innodb_undo_log_truncate=ON;
?? ??? ?show variables like 'innodb_undo_log_truncate';
?? ??? ?如果啟用了innodb_undo_log_struncate變量,則會截斷超過innodb_max_undo_log_size變量定義的大小限制的撤消表空間。
?? ??? ?SELECT @@innodb_max_undo_log_size;
?? ??? ?
?? ?當啟用innodb_undo_log_truncate時
?? ??? ?1、超過innodb_max_undo_log_size設(shè)置的默認和用戶定義的撤消表空間被標記為截斷。選擇要截斷的撤消表空間是以循環(huán)方式執(zhí)行的,
?? ??? ?以避免每次都截斷同一個撤消表空間。
?? ??? ?2、被標記為截斷的撤消表空間中的回滾段處于非活動狀態(tài),回滾段處于非活動狀態(tài),并執(zhí)行完成當前正在使用回滾段的現(xiàn)有事務(wù)。
?? ??? ?3、purge system 釋放回滾段空間。
?? ??? ?4、truncate操作將運行并將undo表面積截斷為其初始大小。
?? ??? ? ? 關(guān)聯(lián)參數(shù)和表空間
?? ??? ??? ? innodb_undo_directory
?? ??? ??? ? SELECT TABLESPACE_NAME, FILE_NAME FROM INFORMATION_SCHEMA.FILES WHERE FILE_TYPE LIKE 'UNDO LOG';
?? ??? ?5、 Rollback segments重新激活,以便重新分配給新事務(wù)。
?? ?
?? ?優(yōu)化自動Undo tablespaces
?? ??? ?清除線程負責(zé)清空和截斷撤消表空間。默認情況下,清除線程每調(diào)用128次清除,就會查找要截斷的撤消表空間。由innodb_urge_rseg_truncate_frequency指定。
?? ??? ?SELECT@@innodb_urge_rseg_truncate_frequency;
?? ??? ?mysql> SET GLOBAL innodb_purge_rseg_truncate_frequency=32; ? #加快清理頻率。
?? ??? ?
?? ?方法2:手動。
?? ??? ?手動截斷撤消表空間至少需要三個活動撤消表空間。始終需要兩個活動的撤消表空間來支持啟用自動截斷的可能性。
?? ??? ?要手動啟動對撤消表空間的截斷:
?? ? ? ? 1、ALTER UNDO TABLESPACE tablespace_name SET INACTIVE;
?? ??? ? 2、其它步驟同自動截斷。
?? ??? ? 3、確認,查詢?
?? ??? ??? ?SELECT NAME, STATE FROM INFORMATION_SCHEMA.INNODB_TABLESPACES ?WHERE NAME LIKE 'tablespace_name';
?? ??? ? 4、ALTER UNDO TABLESPACE tablespace_name SET ACTIVE;
?? ??? ??
?? ?
?? ?兩種方法可以結(jié)合使用

?? ?截斷Undo tablespaces對性能的影響
?? ?可能會導(dǎo)致性能略有下降。性能受影響的程度取決于多個因素:
?? ?1、撤消表空間數(shù)
?? ?2、撤消日志數(shù)
?? ?3、撤消表空間大小
?? ?3、I/O子系統(tǒng)的速度
?? ?4、現(xiàn)有的長期事務(wù)
?? ?5、系統(tǒng)負載
?? ?6、免除潛在性能影響的最簡單方法是增加撤消表空間的數(shù)量。?
?? ?
?? ?
?? ?
Undo tablespaces狀態(tài)?
? 監(jiān)控Undo tablespaces的狀態(tài)
?? ?SELECT NAME, SUBSYSTEM, COMMENT FROM INFORMATION_SCHEMA.INNODB_METRICS WHERE NAME LIKE '%truncate%';
?? ?SHOW STATUS LIKE 'Innodb_undo_tablespaces%';
?文章來源地址http://www.zghlxwxcb.cn/news/detail-723184.html

到了這里,關(guān)于MySQL 8.0 OCP認證精講視頻、環(huán)境和題庫之五 事務(wù)、緩存 、表空間的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 讓ChatGPT做一下MySQL 8.0 OCP(1Z0-908)的真題,我松了一口氣

    MySQL OCP分成中文和英文兩種,Oracle OCP只有英文考試,這里我們用MySQL 8.0 OCP(1Z0-908)的中文真題測試一下ChatGPT,看看ChatGPT能否獲得MySQL OCP的認證,用這種方法判斷ChatGPT會不會代替我們?nèi)祟怐BA的工作。 1報告在MySQL服務(wù)器上運行的所有當前連接,ChatGPT準確地列出了3個: SELECT

    2024年02月04日
    瀏覽(25)
  • MySQL 8.0 OCP (1Z0-908) 考點精析-性能優(yōu)化考點6:MySQL Enterprise Monitor之Query Analyzer

    MySQL 8.0 OCP (1Z0-908) 考點精析-性能優(yōu)化考點6:MySQL Enterprise Monitor之Query Analyzer

    【免責(zé)聲明】文章僅供學(xué)習(xí)交流,觀點代表個人,與任何公司無關(guān)。 編輯|SQL和數(shù)據(jù)庫技術(shù)(ID:SQLplusDB) MySQL Enterprise Monitor是MySQL官方提供的一款監(jiān)控和管理MySQL數(shù)據(jù)庫的工具。 其功能之一包括MySQL Query Analyzer工具,通過MySQL Query Analyzer可以幫助用戶識別慢查詢和瓶頸,監(jiān)視在M

    2024年02月16日
    瀏覽(60)
  • MySQL 8.0 OCP (1Z0-908) 考點精析-架構(gòu)考點1:二進制日志文件(Binary log)

    【免責(zé)聲明】文章僅供學(xué)習(xí)交流,觀點代表個人,與任何公司無關(guān)。 編輯|SQL和數(shù)據(jù)庫技術(shù)(ID:SQLplusDB) MySQL中有多種類型的日志文件,這些日志可用于故障排除、性能調(diào)整和審計等目的,幫助找出正在發(fā)生的活動。 常見的日志文件包括: 日志類型 寫入日志的信息 錯誤日志(

    2024年02月16日
    瀏覽(91)
  • MySQL 8.0 OCP (1Z0-908) 考點精析-性能優(yōu)化考點4:慢速查詢?nèi)罩荆╯low query log)

    慢速查詢?nèi)罩荆╯low query log) 慢速查詢?nèi)罩荆╯low query log)主要用于查找超過指定時間、執(zhí)行時間很長的SQL。 默認情況下這個功能是無效的,所以要啟用慢速查詢?nèi)罩拘枰O(shè)置slow_query_log 為1(ON)。 慢速查詢?nèi)罩荆╯low query log)相關(guān)參數(shù) 下面我們看看慢速查詢?nèi)罩荆╯low query l

    2023年04月22日
    瀏覽(82)
  • 解析MySQL 8.0 OCP(1Z0-908)考試中一道大部分同學(xué)都會做錯的題目(文末附錄像)

    一個用戶有下面的權(quán)限: jsmith可以執(zhí)行哪兩條SQL語句? A)UPDATE world.country SET Name=\\\'all; B)UPDATE world.Country SET Name=‘new’ WHERE Name=\\\'old; C)UPDATE world.country SET Name=‘one’ LIMIT1; D)UPDATE world.country SET Name=‘first’ ORDER BY Name LIMIT 1; E)UPDATE world.country SET Name=CONCAT(‘New’,Name); 我們看到這

    2024年02月08日
    瀏覽(21)
  • 華為認證HCIA-HCIP-HCIEdatacom題庫解析+機構(gòu)視頻+實驗

    華為認證HCIA-HCIP-HCIEdatacom題庫解析+機構(gòu)視頻+實驗

    題庫包含有2023年最新HCIA-datacom題庫、HCIP-datacom題庫,HCIE-datacom題庫, 云計算HCIA,HCIP題庫,云服務(wù)HCIA,HCIP題庫,華為存儲HCIP題庫,華為安全HCIP題庫 ,學(xué)習(xí)筆記,視頻,各種實驗 目前最熱門的華為認證是數(shù)通HCIA-datacom考試代碼為H12-811和HCIP-datacom考試代碼(H12-821、H12-831)。

    2024年02月16日
    瀏覽(22)
  • 「CISP題庫精講」CISP題庫習(xí)題解析精講20道

    「CISP題庫精講」CISP題庫習(xí)題解析精講20道

    本篇主要對CISP教材第九章《計算環(huán)境安全》的一些習(xí)題進行講解,包括20道題,這里只是部分習(xí)題,針對第九章可能會多寫幾章的內(nèi)容,如果我發(fā)布的這些習(xí)題里面沒有你想找的那道題,你也可以直接私信我,我加載文章中。 Apache HTTP Server(簡稱Apache)是一個開放源碼的We

    2024年04月13日
    瀏覽(31)
  • 五.實戰(zhàn)軟件部署 4-5MYSQL 5.7版本在ubuntu(WSL環(huán)境)安裝&MYSQL 8.0版本在ubuntu(WSL環(huán)境)安裝

    五.實戰(zhàn)軟件部署 4-5MYSQL 5.7版本在ubuntu(WSL環(huán)境)安裝&MYSQL 8.0版本在ubuntu(WSL環(huán)境)安裝

    目錄 五.實戰(zhàn)軟件部署 4-MYSQL 5.7版本在ubuntu(WSL環(huán)境)安裝 安裝 1-下載apt倉庫文件 2-配置apt倉庫 3-更新apt倉庫的信息 4-檢查是否成功配置mysql5.7的倉庫 5-安裝mysql5.7 6-啟動mysql 7-對mysql進行初始化 1-輸入密碼 2-是否開啟密碼驗證插件,如果需要增強密碼安全性,輸入y并回車,不需

    2024年02月22日
    瀏覽(18)
  • 深度思考rpc框架面經(jīng)之五:rpc限流:rpc事務(wù):tps測試

    是的,我可以為你提供關(guān)于RPC注冊中心及其監(jiān)控的相關(guān)信息。RPC注冊中心是用于管理微服務(wù)之間調(diào)用關(guān)系的中心化服務(wù),它可以幫助微服務(wù)發(fā)現(xiàn)和調(diào)用其他服務(wù)。而監(jiān)控是確保微服務(wù)健康、穩(wěn)定運行的重要手段,可以實時檢測和報警系統(tǒng)中的異常情況。 對于RPC注冊中心的監(jiān)控

    2024年02月07日
    瀏覽(22)
  • 你真的了解MySQL OCP嗎?其實有兩種MySQL OCP

    你真的了解MySQL OCP嗎?其實有兩種MySQL OCP

    大家可能都知道MySQL OCP認證,但你知道嗎MySQL OCP其實是分兩種,以MySQL 8.0為例, 一種是管理方向,叫:Oracle Certified Professional, MySQL 8.0 Database Administrator 另一個是開發(fā)方向的,MySQL 8.0 Database Developer Oracle Certified Professional 關(guān)于博主,姚遠: Oracle ACE(Oracle和MySQL數(shù)據(jù)庫方向)

    2024年02月13日
    瀏覽(19)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包