Debian上的MySQL表空间主要用于存储数据库中的数据和索引
首先,创建一个新的目录作为表空间。例如,创建一个名为my_innodb_ts
的目录:
sudo mkdir /var/lib/mysql/my_innodb_ts
接下来,编辑MySQL配置文件/etc/mysql/my.cnf
(如果使用的是自定义配置文件,请找到相应的文件路径),在[mysqld]
部分添加以下内容:
innodb_data_home_dir = /var/lib/mysql
innodb_data_file_path = my_innodb_ts:10M:autoextend
innodb_file_per_table = ON
这里,我们指定了表空间的目录为/var/lib/mysql/my_innodb_ts
,并为该表空间分配了10MB的初始大小。autoextend
表示表空间可以根据需要自动扩展。
保存配置文件并重启MySQL服务:
sudo systemctl restart mysql
现在,您可以创建一个新表,并将其存储在刚刚创建的表空间中。例如,创建一个名为test_table
的表:
CREATE TABLE test_table (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(255) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=COMPACT DATA DIRECTORY='/var/lib/mysql/my_innodb_ts';
注意,我们在CREATE TABLE
语句中添加了DATA DIRECTORY='/var/lib/mysql/my_innodb_ts'
,这告诉MySQL将新表存储在指定的表空间中。
至此,您已经成功地在Debian上为MySQL创建了表空间,并将一个新表存储在其中。