簡體   English   中英

如何定義 mysql 數據庫的最大大小

[英]How to define maximum size for mysql database

有什么方法可以定義 mysql 數據庫的最大大小?

例如:

CREATE DATABASE `foo` WITH maxSize=1gb;

最接近設置硬大小限制的是定義 InnoDB 系統表空間的大小時。 請參閱文檔: https://dev.mysql.com/doc/refman/8.0/en/innodb-init-startup-configuration.html#innodb-startup-data-file-configuration

例子:

[mysqld]
innodb_data_file_path=ibdata1:12M:autoextend:max:500M

請注意,如果您設置了此大小限制,您將無法使用 file-per-table 表空間或通用表空間。 您將設置innodb_file_per_table=OFF ,所有表將共享系統表空間。

如果您需要執行任何 ALTER TABLE 或 OPTIMIZE TABLE 操作並且系統表空間中沒有足夠的可用空間,這將變得非常不舒服。 您可能會遇到這樣一種情況,如果不刪除或截斷某些表,或者臨時使用innodb_file_per_table=ON就無法執行這些操作。

MySQL 中沒有在 file-per-table 表空間或通用表空間上設置最大大小的功能。

同樣在 MySQL 的現代版本中,仍然在系統表空間之外創建了其他文件,例如臨時表、回滾段和雙寫緩沖區。 我不認為這些的大小可以用同樣的方式來控制。

然后是查詢日志和二進制日志,它們可能會占用大量空間,具體取決於您的流量。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM