我正在尝试将单个 MySql 数据库移动到我的 Ubuntu 机器中的另一个物理磁盘。我正在使用 Ubuntu 17.04。
外部驱动器安装在 /etc/fstab 中,如下(最后一行):
#zoneminder external drive
/path/to/new/location/zoneminder/images /var/cache/zoneminder/images none defaults,bind 0 2
/path/to/new/location/zoneminder/events /var/cache/zoneminder/events none defaults,bind 0
/dev/disk/by-uuid/a98ab607-15eb-4089-9197-7d26c3576cf9 /path/to/new/location ext4 x-gvfs-show 0 0
Run Code Online (Sandbox Code Playgroud)
我尝试了以下步骤:
停止mysql服务:
sudo service mysql stop
Run Code Online (Sandbox Code Playgroud)
更改已安装驱动器的所有者(我需要更新 fstab 条目以合并这一点,但一次一个问题!):
chown mysql:mysql /path/to/new/location
Run Code Online (Sandbox Code Playgroud)
移动到mysql文件夹
cd /var/lib/mysql
Run Code Online (Sandbox Code Playgroud)
将数据库(称为 zm)复制到新位置
sudo rsync -av zm /path/to/new/location/zm
Run Code Online (Sandbox Code Playgroud)
重命名旧数据库
sudo mv zm zm.old
Run Code Online (Sandbox Code Playgroud)
创建到我们 rsync 的数据库的符号链接
sudo ln -s /path/to/new/location/zm
Run Code Online (Sandbox Code Playgroud)
移动到新的数据库位置
cd /path/to/new/location
Run Code Online (Sandbox Code Playgroud)
在这一点上做 ll 告诉我 mysql 是 /path/to/new/location/zm 的所有者
设置文件权限
sudo chmod 700 zm
cd …Run Code Online (Sandbox Code Playgroud)