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

2020年12月10日21:39:58 发表评论 134
WordPress主题推荐

最近迁站(关于迁站的详细操作可以查看WordPress网站迁站操作日志),在备份网站mysql数据库的时候发现数据很大,未导出的数据库文件总大小1.8G左右,尝试了用最常用的phpMyAdmin面板导入导出,发现导出mysql数据库可以,但是导入到新服务器的phpMyAdmin不成功,总是导入几分钟后就提示502超时。

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

后来试过数据库Navicat for MySQL客户端、帝国备份王,都是出现各种错误。后来通过咨询阿里客服,找到一个非常简单、不易出错、执行效率高的mysql数据库导入导出方法,最主要的是对于超大mysql数据库导入导出非常友好。现总结分享给有需要的站长。

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

一、常用mysql数据库导入和导出方法:phpMyAdmin面板工具

在总结备份和导入超大mysql数据库方法之前,先介绍一下我常用的phpMyAdmin面板导入导出方法,对于500M以内的数据库,用此方法操作还是很不错的,但是超过这个大小的数据库文件就不行了。

登录phpMyAdmin面板,输入账号和密码,选择要操作的数据库,然后操作导入和导出,非常简单。

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

我一般都会选择格式为“SQL”,并将备份的数据库直接保存到服务器的save/文件夹中。导入操作也是非常简单,这里不再复述,只是对于大数据库(500M以内),有时候需要修改以下参数:

php.ini文件中修改大小限制,要比数据库文件大,可根据实际情况调整:

  • upload_max_filesize = 50M
  • memory_limit = 192M
  • post_max_size = 100M

可修改成:

  • upload_max_filesize = 200M
  • memory_limit = 192M
  • post_max_size= 200M

修改php.ini文件中超时时间:

max_execution_time = 600 改为 max_execution_time = 6000

需要重新启动php,新的设置才会生效!

重启php服务命令:/bin/systemctl restart php-fpm.service

在新服务器phpMyAdmin中新建同数据库名的数据库,导入备份的数据库到新服务器;如果数据库文件超过50M,需要修改php.ini文件中上传文件大小限制。

 

二、使用帝国备份王

这个方法是备选方案,如果其他方法行不通的时候,可以考虑使用。不过我在操作使用的过程中,出现导入数据库出错,原因可能是我原来的数据库编码规则比较稀烂,导致使用帝国备份王工具导入和导出后,出现编码规则也稀烂的问题。

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

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

如果对这款软件使用比较熟练的朋友,可以考虑用一下,工具地址:http://ebak.phome.net/

 

三、直接用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
  1. /usr/local/mysql/bin/mysqldump -uroot -ppassword > /data/wwwroot/iludou.sql

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

注意:如果只导出表结构,在-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大小的mysql文件。理论上还可以备份和还原更大的数据库文件,非常简单实用。

本文部分执行命令参考自:https://www.cnblogs.com/sung1024/p/11437223.html

©爱绿豆,本站推荐使用的主机:阿里云腾讯云;本站推荐使用的WP主题:WordPress主题

爱绿豆
抖音音乐热歌榜

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: