Mysql文件太大如何备份导入导出? 您所在的位置:网站首页 MySQL数据量太大无法count Mysql文件太大如何备份导入导出?

Mysql文件太大如何备份导入导出?

2024-07-16 14:28| 来源: 网络整理| 查看: 265

笔者最近几天帮助一位客户搬迁MYSQL,因为客户的MYSQL数据库非常庞大,大概3G大小,笔者按照网上的方法实验了很多种方法,下面来告诉大家如何正确的导入MYSQL大数据库方法,因为有的数据库大小超过100M,可能会有几个G,那么肯定和小数据库不一样的。

笔者按照网上的方法采用PHPMYADMIN的方法导入,大家都知道PHPMYADMIN只能导入2M大的数据库,如果要大于2M那么肯定要用修改几个文件。

   (1):修改PHP配置文件的大小,然后来更改设置,upload_max_filesize修改这个和post_max_size和这2个配置文件的大小,然后在导入,这个方法笔者测试了,只能修改到最大2G,不能再大,并且因为2G非常大,要上传在导入,这个速度肯定非常慢。

   (2):还有网上分享的一个方法,是先在PHPMYADMIN目录建立一个文件夹,然后修改config.inc.php配置文件,在修改里面的$cfg['UploadDir']=这个设置你的文件名,但是笔者测试这个发现,因为新版的配置文件就没有config.inc.php文件夹,然后如果用新版的配置文件修改,发现,导入界面是没有变化的,笔者用2.2 2.6版本的方法测试,也不得实现,没有出来配置文件,可能笔者的方法有误,希望大家给予纠正。

PHPMYADMIN的方法

我们发现只能导入一些非常小的文件,对于大数据库文件还是没招。

BigDump类同Phpmyadmin

在网上找了又找,又发现一种方法,是用BigDump来导入,这个方法和PHPMYADMIN有点类似,不过这个工具的优点是,非常小,只有50K大小,只要把这个文件上传到FTP上去,然后修改里面数据库配置文件,在把你的数据库备份上传上去,就可以导入到数据库,但是笔者导入,的时候点击Start Import竟然出错了,无法导入。

Navicat导入Mysql数据库

第三个方法大家,也都是非常熟悉,使用Navicat导入MYSQL,笔者用这个软件测试发现,这个软件导入MYSQL特别是.SQL文件非常慢,甚至等了1个小时才导入了不到30M的数据库,还频繁报错,应该是因为我的数据库是从LINUX导出的吧。

Windows下CMD命令导入SQL

亮出最终大招,采用CMD命令行导入,也就是MYSQL自带的MYSQL导入工具导入,很多朋友,因为习惯使用了WIN系统,所以非常不喜欢命令行模式,但是实际上CMD命令行的速度以及效率以及他的性能是最优质的,我们来看看步揍。

先在我的电脑桌面,点击开始,输入CMD命令,然后输入D: 命令 然后应该会提示你已经进入D盘了,按照你数据库的地址,我的数据库是在D盘的SOFT这个文件夹目录,我的D盘目录应该是D:\SOFT\Mysql 输入命令:“CD SOFT\Mysql\Bin”类似于这样,大家可以先在本地编辑好,然后直接复制进你的命令,然后回车键执行。

 然后,在导入数据库,非常简单,命令如下:

mysql -u root -pbenbenerpassword mysqlname< C:\X.SQL

  

通过以上命令执行CMD命令如果报安全警告(Warning: Using a password on the command line interface can be insecure.)就分行执行如下:

mysql -u root -p \\执行此行命令然后根据提示输入数据库密码; mysqlname< C:\X.SQL \\执行本行导入数据库文件(C:\X.SQL为你的文件目录);

 

这个命令,大家不要直接打进命令行,需要改为自己的在打,我们来注释下这几个的意思,需要更改为你自己的数据库。

 

root是你的数据库用户名,benbenerpassword是你的数据库密码mysqlname是你要导入的数据库名称 然后后面,就是你的数据库文件了。

笔者亲测,2G文件,没报任何错误,半个小时导入到我的数据库里面,非常爽。

自己电脑上装的PHPNow在导入数据库比较大(大于32M)时遇到错误,不能导入。 找到解决方法: php.ini配置文件中有三处地方需要改动:

upload_max_filesize memory_limit post_max_size

  

 这三个值都工具实际情况改下,重启服务器以后,虽然导入时仍然显示是 最大限制:32M ) ; 但实际上已经可以导入很大的数据库了。。。  如修改成

upload_max_filesize = 128M memory_limit = 128M post_max_size= 128M

  

在phpmyadmin导入里会显示(最大限制:128 MB)

 

附记:

以下的文章主要介绍的是MySQL导入.sql文件的具体操作步骤,以及在其实际操作中值得我们大家注意的相关实际操作事项的具体描述,以下就是文章的详细内容的阐述,望大家会有所收获。

 一.MySQL的命令行模式的设置:

桌面->我的电脑->属性->环境变量->新建->PATH=“;path\MySQL\bin;”其中path为MySQL的安装路径。

二.简单的介绍一下命令行进入MySQL的方法:

C:\>MySQL -h hostname -u username -p

  

按ENTER键,等待然后输入密码。这里hostname为服务器的名称,如localhost,username为MySQL的用户名,如root。进入命令行后可以直接操作MySQL了。

2.简单介绍一下MySQL命令:

MySQL->CREATE DATABASE dbname;//创建数据库 MySQL->CREATE TABLE tablename;//创建表 MySQL->SHOW DATABASES;//显示数据库信息,有那些可用的数据库。 MySQL->USE dbname;//选择数据库 MySQL->SHOW TABLES;//显示表信息,有那些可用的表 MySQL->DESCRIBE tablename;//显示创建的表的信息

  

三.从数据库导出数据库文件:

将数据库mydb导出到e:\MySQL\mydb.sql文件中:打开开始->运行->输入cmd 进入命令行模式

c:\>MySQLdump -h localhost -u root -p mydb >e:\MySQL\mydb.sql

  

然后输入密码,等待一会导出就成功了,可以到目标文件中检查是否成功。

 

将数据库mydb中的mytable导出到e:\MySQL\mytable.sql文件中:

 

c:\>MySQLdump -h localhost -u root -p mydb mytable>e:\MySQL\mytable.sql

  

 

将数据库mydb的结构导出到e:\MySQL\mydb_stru.sql文件中:

 

c:\>MySQLdump -h localhost -u root -p mydb --add-drop-table >e:\MySQL\mydb_stru.sql

  

四.从外部文件导入数据到数据库中:从e:\MySQL\mydb2.sql中将文件中的SQL语句MySQL导入数据库中:

从命令行进入MySQL,然后用命令CREATE DATABASE mydb2;创建数据库mydb2。 退出MySQL 可以输入命令exit;或者quit; 在CMD中输入下列命令:

 

c:\>MySQL -h localhost -u root -p mydb2 < e:\MySQL\mydb2.sql

  

然后输入密码,就OK了。五.下面谈一下关于导入文件大小限制问题的解决:

默认情况下:MySQL 对导入文件大小有限制的,最大为2M,所以当文件很大时候,直接无法导入,下面就这个问题的解决列举如下:

在php.ini中修改相关参数: 影响MySQL导入文件大小的参数有三个:

 

memory_limit=128M,upload_max_filesize=2M,post_max_size=8M

  

修改upload_max_filesize=200 M 这里修改满足你需要的大小,

可以同时修改其他两项memory_limit=250M post_max_size=200M

这样就可以MySQL导入200M以下的.sql文件了。

原文地址:http://www.benbener.cn/question/39



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有