虽然mysqldump
工具是数据库系统的首选备份方法,但它仅在数据库服务器可运行时才有效。如果无法启动数据库或无法访问主机系统,我建议直接复制数据库。
如果你对服务器系统可以正常访问,您可以参考使用mysqldump备份MySQL或MariaDB这篇文章。
注意 本教程需要一台已经设置好可以使用
sudo
命令的非root账号的服务器,并且已开启防火墙。没有服务器的同学可以在这里购买,不过我个人更推荐您使用免费的腾讯云开发者实验室进行试验,学会安装后在购买服务器。
首先,请停止mysql
服务:
systemctl stop mysql
找到您的数据库目录。在大多数系统上它应该是/var/lib/mysql/
,但如果该目录不存在,请检查/etc/mysql/my.cnf
数据目录的路径。
创建用于存储备份的目录。本教程将使用/opt/backups
,但您可以根据自己的需要进行更改:
mkdir /opt/db-backups
将MySQL的数据目录复制到存储位置。cp
命令,rsync
或其它方法将正常工作,但我们将使用tar
递归复制并在同一时间gzip压缩的备份。根据需要更改数据库目录,备份文件名和目标目录; -$(date +%F)
命令将插入一个时间戳到文件名。
tar cfvz /opt/db-backups/db-$(date +%F).tar.gz /var/lib/mysql/*
重启MySQL服务:
systemctl restart mysql
cd
mysql
服务:systemctl stop mysql
tar zxvf /opt/db-backups/db-archive.tar.gz -C .
/ var / lib / mysql
的当前内容移动到另一个位置,或者完全删除它们。 创建一个新的空mysql
文件夹以恢复备份的DMBS。mv /var/lib/mysql /var/lib/mysql-old
mkdir /var/lib/mysql
mv ~/var/lib/mysql/* /var/lib/mysql
chown -R mysql:mysql /var/lib/mysql
systemctl restart mysql
有关此主题的其他信息,您可能需要参考以下资源。虽然提供这些是希望它们有用,但请注意,我们无法保证外部托管材料的准确性或及时性。
自建服务器难免会遇到这样的问题,但是如果您在生产环境使用,我还是建议您直接使用云关系型数据库,云关系型数据库让您在云中轻松部署、管理和扩展的关系型数据库,提供安全可靠、伸缩灵活的按需云数据库服务。腾讯云关系型数据库提供 MySQL、SQL Server、MariaDB、PostgreSQL 数据库引擎,并针对数据库引擎的性能进行了优化。云关系型数据库是一种高度可用的托管服务,提供容灾、备份、恢复、监控、迁移等数据库运维全套解决方案,可将您从耗时的数据库管理任务中解放出来,让您有更多时间专注于您的应用和业务。更多Linux教程请前往腾讯云+社区学习更多知识。
参考文献:《Create Physical Backups of your MariaDB or MySQL Databases》
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。