我研究过,没有找到任何答案,所以我决定在这里问。/dev/sda2
我的 WHM/Cpanel 网络服务器的磁盘已满 100%。/var
文件夹位于/dev/sda2
磁盘上,我发现磁盘已满 100% 的原因是/var/lib/mysql
文件夹。
为了修复它,我需要将/var/lib/mysql
文件夹移动/dev/sda2
到/home
磁盘空间充足的地方。
然后我使用命令行:
service mysql stop
cp -r -p /var/lib/mysql/ /home/databasesmysql/
mv /var/lib/mysql /var/lib/mysql.backup/
ln -s /home/databasesmysql/ /var/lib/mysql
service mysql start
好的,现在检查它是否在新位置运行,我刚刚将其重命名/var/lib/mysql
为/var/lib/mysql.backup
并且 MySQL 停止工作。
另外,当我重命名/home/databasesmysql
文件夹时,MySQL 也停止工作。
我不知道发生了什么,符号链接使用了两个位置?
答案1
您使用ln -s
参数的方式错误。cp
使用时请三思ln
:源在前,目标在后。
您希望有一个/var/lib/mysql
指向实际目录的链接/home/databasesmysql
。如果您要复制,请执行以下操作:
cp -r /home/databasesmysql /var/lib/mysql
所以ln -s
你也这么做:
ln -s /home/databasesmysql /var/lib/mysql
答案2
/home/databasesmysql
运行命令之前该目录是否存在?
如果是,则目录
/var/lib/mysql
为未复制到 /home/databasesmysql
,
它是复制进入 /home/databasesmysql
,
因此副本被命名为/home/databasesmysql/mysql
,而不是/home/databasesmysql
。
当然,这意味着链接/var/lib/mysql
没有指向正确的目录。