即使重新安装 Ubuntu 后,如何才能保持所有 mysql 数据库正常工作?

即使重新安装 Ubuntu 后,如何才能保持所有 mysql 数据库正常工作?

我是 Ubuntu 的新用户。我对挂载点相关的问题感到困惑/var。目前,我在 500GB 硬盘上使用 3 个分区。50GB //home392.* GB 和swap15 GB。我在互联网上搜索后发现,上面的数据/home都会保留。但没有找到任何文章说即使/var重新安装或升级 Ubuntu 后数据是否也会保留。主要问题是我希望我创建的所有 mysql 数据库都是安全的。如果您能建议我如何保证它的安全,或者如果我创建单独的分区,它会不会更安全,我将非常高兴/var?我使用的是单启动。

这可能是一个很基础的问题,但对我来说却很重要。抱歉我的英语不好(正在努力提高)提前谢谢。Md Al Amin

答案1

在重新安装系统之前,请将 mySQL 数据库移动到,/home然后从现在开始忘记任何复杂的东西!

sudo service mysql stop
sudo cp --recursive --preserve=all /var/lib/mysql/ /home/

然后:

sudo nano /etc/mysql/my.cnf 

并设置datadir/home/mysql

sudo nano /etc/apparmor.d/usr.sbin.mysqld

添加:

/home/mysql/ r,
/home/mysql/** rwk,

然后:

apparmor_parser -r /etc/apparmor.d/usr.sbin.mysqld
sudo service mysql start

确认一切正常后,只需删除/var/lib/mysql

答案2

另一个可能的解决方案是使用:

为 /var 创建新分区

  1. 创建一个新的分区来保存/var。您可以使用分区要做到这一点。
  2. 为这些分区创建文件系统(也可以使用 Gparted 完成)或使用

    mkfs.ext4 /dev/sdaX
    

    将 X 替换为你新创建的分区号

  3. 在 /mnt 下挂载新的文件系统

    mkdir /mnt/var        
    mount /dev/sdaX /mnt/var
    
  4. 进入单用户模式,使目录上没有读写活动

    init 1
    
  5. 输入你的 root 密码

  6. 备份数据在/var

    cd /var
    cp -ax * /mnt/var
    
  7. 数据成功传输后重命名 /var 目录

    cd /
    mv var var.BAK
    
  8. 创建新的 var 目录

    mkdir var
    
  9. 卸载新分区

    umount /dev/sdaX
    
  10. 将其重新挂载为 /var

    mount /dev/sdaX /var
    
  11. 编辑 /etc/fstab 文件以包含新分区,并以 /var 作为挂载点,以便它在启动时自动挂载。

    /dev/sdaX       /var     ext4    defaults    0 0
    

所有凭证都归源头

现在您的 /var 位于单个分区上,因此您不必担心重新安装时丢失数据。

答案3

如果您再次安装 Ubuntu,您的/var将被删除,因为/var它不在单独的分区上,而为其创建单独的分区可能是个好主意/var

/var重新安装 Ubuntu 后,备份数据库并将其移回。

从评论中可以看出一个重要的观点:

在复制 /var 的内容之前,请确保 MySQL 服务器已停止,否则备份可能会不完整。

我对 进行了备份/etc/var如果/opt我重新安装系统。

相关内容