最新消息:把荒废已久的博客重新捡起来,持续更新!

Ubuntu备份、迁移和恢复MySQL/MariaDB数据库

GNU/Linux 骑猪看月亮 385浏览 0评论

怎么备份 MySQL 数据库、MariaDB 数据库(MariaDB 是 MySQL 的社区版本,为方便描述,下面都直接使用 MySQL 数据库统称),以及怎么迁移传输数据库,并且后续恢复 MySQL 数据库。如果是 WordPress 网站,MySQL 数据库存放着整个网站的数据(不包括图片等文件),所以经常备份数据库是非常重要的,毕竟备份起来也不麻烦,还是有事没事多备份一下的好。

以下教程在 Ubuntu 系统上进行,CentOS 上未测试,不保证可用,一般来说没什么问题。

一、备份 / 导出 MySQL / MariaDB 数据库

备份数据库很简单,首先需要登录服务器 SSH,然后一行命令行即可,将下面的命令中的一些参数替换成你的对应参数:

  • DB:导出的文件名
  • MYSQL_USER:数据库用户名
  • MYSQL_PASS:数据库密码

MySQL:

DB=test
MYSQL_USER=test
MYSQL_PASS=test
/usr/local/mysql/bin/mysqldump -u$MYSQL_USER -p$MYSQL_PASS ${DB} > ${DB}.sql

MariaDB:

DB=test
MYSQL_USER=test
MYSQL_PASS=test
/usr/local/mariadb/bin/mysqldump -u$MYSQL_USER -p$MYSQL_PASS ${DB} > ${DB}.sql

之后我们就可以在当前目录看到一个导出的 sql 文件了。

二、传输 / 迁移 MySQL / MariaDB 数据库

使用 rsync 或者 scp 都可以。

rsync -avP ${DB}.sql root@1.2.3.4:/home

或者

scp -P 6666 ${DB}.sql root@1.2.3.4:/home

其中,把 1.2.3.4 换成你自己的想存放备份文件的 VPS 的 IP 地址。后面的路径可以自己更换。scp -P 后面是端口号,如果是默认端口,也可以不写。

三、恢复 / 导入 MySQL / MariaDB 数据库

恢复也很简单,同样一句命令即可:

mysql -uMYSQL_USER -pMYSQL_PASS DATABASE_NAME < DATABASE_FILE.sql

其中:

  • MYSQL_USER:用户名
  • MYSQL_PASS:密码
  • DATABASE_NAME:数据库名称
  • DATABASE_FILE:你的 sql 文件名

注意:-u 和 -p 后面没有空格。

发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址