陈奇网络工作室

Mysql数据库过大如何迁移数据,2种亲测有效的数据转移方法详解!

虚拟主机的PHPmyadmin一般限制了sql文件的大小,超过500M的数据能导出,但是导入的过程中往往会出错,还有就是数据量更大的情况,比如1G以上的数据库,使用这种导入导出往往不可行,那怎么办?因为网站大多使用的是mysql,有些小伙伴使用的甚至是虚拟主机,因为平时过于努力,导致数据库容量爆满,这时候如果只是通过工具来迁移十分困难,甚至使用第三方工具也是遥遥无期,17万条数据利用第三方工具从一个数据库转到另一个数据库也很是要命,如下图:

使用第三方工具转移数据的情况

这里不得不说,工具的导入原理都是通过数据库命令一条一条插入,实在没啥好办法,不过对于这种大数据量的转移,我觉得可以使用下帝国备份王,同时尽量在单个数据库表内的记录量不超过2万条的时候进行数据转移,不然真到了数据量十分巨大的时候就很痛苦了,我用第三方工具Navicat在同一个表里插入17万数据居然耗费了一天时间都还没传完,实际上这单一一个表也才30M,所以前期的数据库优化也十分重要,不然到后期进行数据转移真的是欲哭无泪,开源程序pbootcms、织梦、eyoucms等如果要用于建设大型内容站点,那么一定要进行二开,对数据库表规则进行优化。

超过1G数据库迁移方法1:mysql客户端备份和还原大数据库文件(亲测有效)

推荐mysql备份文件超过1G大小的使用此方法,亲测1.8G数据库备份文件,使用此方法几分钟就导入并恢复成功了。而且使用此方法不会报错,也不会超时,使用简单方便。注意操作前一定要备份数据库!!!

mysql导入数据库,首先两个方法都需要登录到服务器。登陆到服务器执行:

mysql -u用户名 -p密码

如何导入导出超1G大小的MySQL数据库(日志)

(1)导出数据库用mysqldump命令(注意mysql的安装路径,即此命令的路径):

1、导出数据和表结构:

mysqldump -u用户名 -p密码 数据库名 > 数据库名.sql

mysqldump -u用户名 -p 数据库名 > 数据库名.sql

  1. mysqldump -uroot -p abc_com > /data/wwwroot/iludou.sql

回车后提示输入用户密码,导出成功,文件在/data/wwwroot/目录下,iludou.sql是导出之后的文件的名字。

如何导入导出超1G大小的MySQL数据库(日志)

注意:如果只导出表结构,在-p后面加上-d即可。

 

(2)导入数据库

方法1:进入数据库先建空数据库,再导入数据:

  1. MariaDB [(none)]> create database XXX; //建立空数据库XXX
  2. MariaDB [(none)]> use XXX; //选择数据库XXX
  3. MariaDB [(none)]> set names utf8; //设置数据库导入编码
  4. MariaDB [(none)]> source /data/wwwroot/iludou.sql; //导入数据(注意sql文件的路径)

操作截图:

如何导入导出超1G大小的MySQL数据库(日志)

如何导入导出超1G大小的MySQL数据库(日志)

如何导入导出超1G大小的MySQL数据库(日志)

如何导入导出超1G大小的MySQL数据库(日志)如何导入导出超1G大小的MySQL数据库(日志)如何导入导出超1G大小的MySQL数据库(日志)

数据库导入编码和phpMyAdmin面板导入工具界面使用的编码相同即可,即默认设置为utf8。

如何导入导出超1G大小的MySQL数据库(日志)

 

方法2:直接导入

mysql -u用户名 -p密码 数据库名 < 数据库名.sql

  1. # mysql -uroot -ppassword XXX < /data/wwwroot/iludou.sql

上面这行命令会使用 root 身份,把当前目录下的 iludou.sql 恢复到 XXX 这个数据库里面。

超过1G数据库迁移方法2:使用帝国备份王备份和还原大数据库文件(亲测有效)

用帝国备份王备份或还原mysql数据的准备工作:

简单的说就是下载,重命名,改php版本,具体如下:

1、到帝国cms官方下载最新的帝国备份王版本

2、解压后将EmpireBak_5.1目录中的upload文件夹名为自己想要的名字,随便命名,主要不要和同级目录中的其他文件夹名称冲突就行,比如命名为ebak2022;

3、由于帝国备份王默认支持的php版本为php5.3到php5.6之间,所以我们需要先把自己的网站对应的php版本改为php5.6,然后再进行下一步的备份或数据还原工作;如果你的php版本为php7.0及以上版本,那么再登录帝国备份王之后,进行下一步操作时,就会提示各种报错,导致备份或还原无法进行;

4、登录帝国备份王

假定你的网站域名是:abc.com。你重命名的帝国备份王程序文件夹为ebak2022,那么访问帝国备份王的网址就是:http://www.abc.com/ebak2022/

在浏览器地址栏访问:http://www.abc.com/ebak2022/,打开界面如下图:

mysql数据库操作教程:使用帝国备份王备份数据及还原数据的方法和步骤  帝国备份王 mysql备份 mysql还原 第1张

输入默认的用户名:admin,默认的密码:123456,点登录,进入帝国备份王系统首页,如下图:

 

mysql数据库操作教程:使用帝国备份王备份数据及还原数据的方法和步骤  帝国备份王 mysql备份 mysql还原 第2张

从图中,大家可以看到,你当前网站对应的php版本和mysql版本,我这里显示是php5.6,就不需要改了,如果你的界面上显示的php版本为php7.0或更高版本,那就一定先去修改下你的php版本为php5.6。

5.在上图中点击全局参数设置,

mysql数据库操作教程:使用帝国备份王备份数据及还原数据的方法和步骤  帝国备份王 mysql备份 mysql还原 第3张

先后设置"数据库设置"和"管理员设置"两项:

mysql数据库操作教程:使用帝国备份王备份数据及还原数据的方法和步骤  帝国备份王 mysql备份 mysql还原 第4张

<1>在数据库设置对话框中,我们只需要填入数据库服务器(即数据库地址),数据库用户名,数据库密码,默认备份的数据库(即数据库名)这四项,其他的保持默认,不要做任何改动,然后点击下方的”测试数据库信息“,如果你填写的信息正确,并且你的数据库是有效的,那么就会弹出如下提示:

mysql数据库操作教程:使用帝国备份王备份数据及还原数据的方法和步骤  帝国备份王 mysql备份 mysql还原 第5张

如果你的数据库信息填写错误,同样会提示你信息填写错误,

mysql数据库操作教程:使用帝国备份王备份数据及还原数据的方法和步骤  帝国备份王 mysql备份 mysql还原 第6张

请重新填写正确的数据库信息并继续测试,直至和上图一样能弹出链接数据库成功的提示为止。

<2>数据库设置测试链接成功后,再点管理员设置,等两项都设置好后,再去点下方的设置,:

mysql数据库操作教程:使用帝国备份王备份数据及还原数据的方法和步骤  帝国备份王 mysql备份 mysql还原 第7张

管理员设置也很简单,如下图:

mysql数据库操作教程:使用帝国备份王备份数据及还原数据的方法和步骤  帝国备份王 mysql备份 mysql还原 第8张

我们分别输入用户名,密码,重复密码,这三项就行,然后认证码这一行保持为空,验证随机码这一行点下右侧的随机按钮,这样就可以了,然后点下方的设置,这样帝国备份王会保存,并自动退出登录状态,返回登录界面,

mysql数据库操作教程:使用帝国备份王备份数据及还原数据的方法和步骤  帝国备份王 mysql备份 mysql还原 第9张

这时,你分别数据你刚设置好的用户名和密码,再点登录就可以了,这样我们就完成了帝国备份王进行数据备份或还原的准备工作。

说了不少,截图也比较多,实际操作也就几秒的事情,刚开始使用时要细心些,用多了自然就习惯了,操作速度也就很快了!

二、用帝国备份王还原数据的操作步骤及注意事项:

登录帝国备份王首页,点击左侧的"恢复数据",在右侧点击选择目录(其他保持默认,不要做任何改动),如下:

mysql数据库操作教程:使用帝国备份王备份数据及还原数据的方法和步骤  帝国备份王 mysql备份 mysql还原 第10张

在弹出的"管理备份目录"对话框中,点击选择正确的网站备份目录,如下图红圈圈住的目录(不要点safemod目录),

mysql数据库操作教程:使用帝国备份王备份数据及还原数据的方法和步骤  帝国备份王 mysql备份 mysql还原 第11张

程序会自动返回到"恢复数据"对话框,如下图,点"开始恢复",等待数据恢复完成即可。

mysql数据库操作教程:使用帝国备份王备份数据及还原数据的方法和步骤  帝国备份王 mysql备份 mysql还原 第12张

数据恢复完成就会弹出提示:

mysql数据库操作教程:使用帝国备份王备份数据及还原数据的方法和步骤  帝国备份王 mysql备份 mysql还原 第13张

然后点确定,退出帝国备份王或直接关闭帝国备份王的网页都可以,至此,数据恢复完成。

 

三、用帝国备份王备份数据的操作步骤及注意事项:

登录帝国备份王首页,点击左侧的"备份数据",在右侧可以选择按"按文件大小备份"或"按记录数备份"两种方式之一来进行备份,(其他保持默认,不要做任何改动),如下:

mysql数据库操作教程:使用帝国备份王备份数据及还原数据的方法和步骤  帝国备份王 mysql备份 mysql还原 第14张

点击"开始备份"

mysql数据库操作教程:使用帝国备份王备份数据及还原数据的方法和步骤  帝国备份王 mysql备份 mysql还原 第15张

在弹出的确认对话框中点击确定,如下图:

mysql数据库操作教程:使用帝国备份王备份数据及还原数据的方法和步骤  帝国备份王 mysql备份 mysql还原 第16张

等待备份完成即可。

备份完成会弹出提示,如下图,点确定,退出帝国备份王即可。

mysql数据库操作教程:使用帝国备份王备份数据及还原数据的方法和步骤  帝国备份王 mysql备份 mysql还原 第17张

四、使用用帝国备份王的注意事项:

1、帝国备份王的程序主文件夹名称可以自由命名,只要不和当前同级目录的其他文件夹名重复即可;

2、php版本设置为php5.6,这样可以顺利使用帝国备份王的功能,当你数据备份或还原完成后,再把php版本改成日常所用php版本即可。

3、帝国备份王在使用完成后建议做好备份,并删除掉帝国备份王的目录,这样就排除了网站安全隐患;

4、对大数据量的数据库备份或还原,帝国备份王效果很高,且不容易出错,比直接导入导出sql文件方便多了;

5、帝国备份王是一个完整独立的小程序,所以在上传或下载时也需要以二进制格式传输,以免在传输过程中造成文件损坏;

6、使用帝国备份王在恢复数据或还原数据前后,对网站主程序无任何影响,它影响的只是数据,所以可以放心使用;

7、针对网站的所有操作都要先做好备份,再进行操作,没备份一旦出错就无法还原了,帝国备份王也不例外。

8、帝国备份王实际上也是可以支持php7.0及更高php版本的,但需要对程序文件做一些修改才行,比如php为7.0-7.3时,修改文件:class/config.php

  找到:$phome_db_dbtype='mysql';

  改为:$phome_db_dbtype='mysqli';

修改php配置文件php.ini,把display_errors设置为off即可;

在php7.4时,就需要修改更多代码地方,这里就不多说了。

声明:本文用于学习交流,部分内容摘抄自网络文章,参考资料:红帽seo、爱绿豆博客等,转载请注明内容来源。

相关推荐

后台-系统设置-扩展变量-手机广告位-内容页底部广告位3