由于一些原因,我们可能会经常性迁移自己的博客到不同的与服务器上。整个迁移中,不像网站根目录可以整个移动,数据库是比较难迁移的,本文章将记录我迁移数据库的一次经历 **将数据库文件输出到转储文件** 我们先登录到旧主机上,先使用systemctl指令关闭我们的nginx、mysql之类的服务,防止迁移时数据库被修改 ``` systemctl stop nginx //这里根据数据库类型输入 systemctl stop mariadb systemctl stop mysql ``` 此时nginx和MariaDB/Nginx已经关闭 ``` mysqldump -u root -p --all-databases > all_databases.sql //这个用来备份整个数据库 mysqldump -u root -p -opt [database_name] > databases_name.sql //这个用来迁移指定数据库 ``` 运行以上指令后,就会在当前目录下生成一个sql文件,这个就是我们要的数据库备份文件 **将备份文件移动至目标主机** 这里可以使用喜欢的软件像是winscp,笔者也是使用winscp,但这里同时会介绍一下使用scp移动文件 scp会更加方便,不用切换软件,可以直接在旧主机上操作 ``` scp [files] [users]@[domain]:[directory] ``` [files]是数据库的备份文件 [users]是登录到新主机的账户 [domain]是新主机的ip或者域名 [directory]是新主机上的目录 **在新主机上恢复数据库文件** 登录到新主机上 ``` mysql -u root -p < [files] ``` 这里的[files]就是数据库文件 至此,数据库已经从旧主机迁移至新主机中 Loading... 由于一些原因,我们可能会经常性迁移自己的博客到不同的与服务器上。整个迁移中,不像网站根目录可以整个移动,数据库是比较难迁移的,本文章将记录我迁移数据库的一次经历 **将数据库文件输出到转储文件** 我们先登录到旧主机上,先使用systemctl指令关闭我们的nginx、mysql之类的服务,防止迁移时数据库被修改 ``` systemctl stop nginx //这里根据数据库类型输入 systemctl stop mariadb systemctl stop mysql ``` 此时nginx和MariaDB/Nginx已经关闭 ``` mysqldump -u root -p --all-databases > all_databases.sql //这个用来备份整个数据库 mysqldump -u root -p -opt [database_name] > databases_name.sql //这个用来迁移指定数据库 ``` 运行以上指令后,就会在当前目录下生成一个sql文件,这个就是我们要的数据库备份文件 **将备份文件移动至目标主机** 这里可以使用喜欢的软件像是winscp,笔者也是使用winscp,但这里同时会介绍一下使用scp移动文件 scp会更加方便,不用切换软件,可以直接在旧主机上操作 ``` scp [files] [users]@[domain]:[directory] ``` [files]是数据库的备份文件 [users]是登录到新主机的账户 [domain]是新主机的ip或者域名 [directory]是新主机上的目录 **在新主机上恢复数据库文件** 登录到新主机上 ``` mysql -u root -p < [files] ``` 这里的[files]就是数据库文件 至此,数据库已经从旧主机迁移至新主机中 最后修改:2025 年 05 月 17 日 © 允许规范转载 赞 如果觉得我的文章对你有用,请随意赞赏