/var/run。| 對象 | 啟動參數法 | 符號鏈接法 |
|---|---|---|
| 整個數據目錄 | ✓ --datadir | ✓ |
| 單個數據庫目錄 | ✗ | ✓ |
| 單個表文件 | ✗ | ✓ (MyISAM *.MYD/*.MYI) |
| PID 文件 | ✓ --pid-file | ✗ |
| 一般日誌 | ✓ --log | ✗ |
| 更新日誌 | ✓ --log-update | ✗ |
systemctl stop mysqldmv /var/lib/mysql /data/mysql/etc/my.cnf ([mysqld] 區塊):
[mysqld] datadir = /data/mysql pid-file = /data/mysql/mysqld.pid log-error = /data/mysql/error.log slow_query_log_file = /data/mysql/slow.log
systemctl start mysqld && mysql -e "SHOW VARIABLES LIKE 'datadir';"# 停止服務 systemctl stop mysqld # 移動目標庫目錄 mv /var/lib/mysql/big_db /mnt/disk2/big_db # 建立符號鏈接 ln -s /mnt/disk2/big_db /var/lib/mysql/big_db # 啟動服務 systemctl start mysqld
注意: MyISAM 表可單獨鏈接 .MYD/.MYI 文件;InnoDB 共享表空間模式下不支援單表鏈接,需啟用 innodb_file_per_table=1 後遷移 .ibd 文件並執行 ALTER TABLE ... IMPORT TABLESPACE。
mysql:mysql)、SELinux/AppArmor 上下文。datadir、socket、port、pid-file、log-error。