如何在卷上使用备份MySQL文件而不是默认值

我有一个托pipe在Scaleway上的服务器,其上有多个登台站点。

我不小心将服务器归档了,而不是closures它,这意味着我的网站的MySQL数据目前存储在/mnt/volume0/var/lib/mysql但是MySQL目前正在查看/var/lib/mysql因此我的数据库都没有被拾起。

我怎样才能让MySQL查看卷上的MySQL数据的path呢?

我已经尝试遵循这个指南: https : //www.digitalocean.com/community/tutorials/how-to-move-a-mysql-data-directory-to-a-new-location-on-ubuntu-16-04

但是当再次启动MySQL时,我得到:

 Job for mysql.service failed because the control process exited with error code. See "systemctl status mysql.service" and "journalctl -xe" for details. 

并运行systemctl status mysql给出:

 ● mysql.service - MySQL Community Server Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled) Active: activating (start-post) (Result: exit-code) since Wed 2017-06-28 17:53:13 UTC; 2s ago Process: 16742 ExecStart=/usr/sbin/mysqld (code=exited, status=1/FAILURE) Process: 16734 ExecStartPre=/usr/share/mysql/mysql-systemd-start pre (code=exited, status=0/SUCCESS) Main PID: 16742 (code=exited, status=1/FAILURE); : 16743 (mysql-systemd-s) CGroup: /system.slice/mysql.service └─control ├─16743 /bin/bash /usr/share/mysql/mysql-systemd-start post └─16751 sleep 1 

我会尝试将/mnt/volume0/var/lib/mysql的内容移动到/var/lib/mysql但据我了解,如果我这样做,我会用尽服务器上的空间

 $ df -h Filesystem Size Used Avail Use% Mounted on udev 1010M 0 1010M 0% /dev tmpfs 203M 29M 175M 14% /run none 1012M 845M 168M 84% / tmpfs 1012M 0 1012M 0% /dev/shm tmpfs 5.0M 0 5.0M 0% /run/lock tmpfs 1012M 0 1012M 0% /sys/fs/cgroup /dev/nbd0 46G 46G 0 100% /mnt/volume0 /dev/nbd1 92G 41G 47G 47% /mnt/volume 

谢谢!

如果您需要临时解决scheme:

 mount -o bind /mnt/volume0/var/lib/mysql /var/lib/mysql 

或者在MySQL中,在/etc/my.cnf中,您需要将datadir更改为指向新文件夹。 例如datadir=/mnt/volume0/var/lib/mysql 。 确保/ mnt / volume0 / var / lib / mysql是可写的。

我最终通过用/mnt/volume0/var/lib/mysql/ (从服务器)的内容replace本地计算机上的/var/lib/mysql/的内容来解决此问题。

然后我尝试启动MySQL时遇到了一个错误表“performance_schema.session_variables”不存在,我通过升级本地机器上的MySQL并重新启动解决: https : //stackoverflow.com/a/20262826/8231049

现在我能够从我的本地机器转储数据库:)

编辑:在等待2天之前不能接受我的答案。 那么会做。