假设mysql 5.5服务器使用以下配置来存储innodb数据
innodb_data_file_path = /var/lib/mysql/ibdata:100G;/disk2/mysql/ibdata2:1000M:自动扩展
在稍后的某个时间点,如果数据库已经填充了一段时间。我希望在此 innodb_data_file_path 中添加额外的路径,因为我的磁盘空间不足,并且添加了新磁盘。这可能吗?如何做呢?会像下面这样工作吗?
innodb_data_file_path = /var/lib/mysql/ibdata:100G;/disk2/mysql/ibdata2:XXXG;/disk3/mysql/ibdata3:1000M:自动扩展
你已经在这里解释过了。当你没有指定路径时,innodb_data_home_dir你可以为 innodb_data_file_path 设置绝对路径,并且你可以有多个文件,格式file_name:file_size[:autoextend[:max:max_file_size]]以分号分隔。
此外,您可以为现有数据库添加新的数据文件。停止mysql,更改innodb_data_file_path并再次启动。
需要注意的是:如果您有如下配置:
innodb_data_file_path=/var/lib/mysql/file1:10M:autoextend
你想添加新文件,例如
innodb_data_file_path=/var/lib/mysql/file1:10M;/bigmedia/file2:1800M:autoextend
当你启动 mysql 时,你可能会收到错误(无法初始化 InnoDB 引擎)...错误可能会这样说:“file1 contains xx Pages but in my.cnf it said xxx Pages”,这意味着你将有将 my.cnf 中 file1 的大小更改为其实际大小(它超出了配置文件中指定的大小...当它是唯一文件时,这是可以的,但 mysql 期望它完全是指定的大小并增长第二个文件当您有第二个文件时)。很容易猜到,就是1M增量。所以,你最终会得到如下配置:
innodb_data_file_path=/var/lib/mysql/file1:23M;/bigmedia/file2:1800M:autoextend
Run Code Online (Sandbox Code Playgroud)
小心这一点,尽量不要破坏你的数据:)
| 归档时间: |
|
| 查看次数: |
22243 次 |
| 最近记录: |