1、首先已管理员身份(通过win+r)进入命令提示符
2、先进入MYSQL安装目录,以我的为例:d:/wamp/bin/mysql/mysql5520/bin 进入该目录的bin目录下,该目录下有个mysqlexe 文件
mysql 导入超大文件到数据库 - queen - 安然
3、为了保证一次性通过,可以先测试一下数据库的是否连接成功 mysql -u root -p (数据库有密码的写上密码);再测试一下访问的数据库是否能访问 mysql -u root -p (数据库有密码的写上密码) craft(这个就是数据库的名称);我第二次导入时遇到一个问题,就是我测试数据库连接成功后,直接又测试数据库是否能够访问,出现错误
mysql 导入超大文件到数据库 - queen - 安然
我检查了一遍命令没发现错误啊,没办法了,问我领导,人家三下五除二就搞定了,问了才知道,所有的命令都应该在
mysql 导入超大文件到数据库 - queen - 安然
下执行,包括测试数据库是否连接成功,数据库是否能访问和最后的数据库导入,我的错误就是在检查了数据库是否连接成功后就进入mysql里,没有退出来。好吧,又记了一遍。
4、如果上面的 *** 作没有问题,下一步就进行数据导入 *** 作
mysql -u root -p (数据库有密码的写上密码) craft < d:/craftsql
导入过程可能会由于其他原因导致错误,我遇到的是在导入过程中可能由于编码的原因出现错误,所以,可以再加上点内容 mysql -u root -p --default-character-set=utf8 craft < d:/craftsql,敲回车后,出现输入密码提示,如果数据库设置密码,就可以输入密码后再打回车,直到导入 *** 作完成
mysql 导入超大文件到数据库 - queen - 安然
注意:这样就完成了导入,不过中间还可能出现的问题就是要导入文件的权限问题,要保证你所登录的身份有对文件的写 *** 作,所以为了防止万一,我们可以将文件的所有权限都打开:选中文件,点右键,选择属性,选“安全”选项卡,选中你登录的角色,点“编辑”,选中“允许”下面的“完全控制”,点击确定。
抄一段给你看看,应该有些帮助。
一般网站经常用phpmyadmin备份和恢复数据库,但默认总是限制了16M。网站数据一多就不行了。
解决方法如下:
(1)修改phpini适用自己有服务器的人
大多数都修改phpini中的upload_max_filesize,但修改了这个以后,还是提示这个问题;
那么更改如下几处:
修改 PHPini
file_uploads on 是否允许通过>
在mysql中导入/导出超大的sql文本文件,我们可以使用很多方法实例,如有:客户端直接命令 *** 作,分块导入,客户端用source命令 *** 作等等。
在实际工作中,有时经常地时行mysql数据库的导入和导入 *** 作,但对于大型sql文件导入时,phpmyadmin是不行的,有太多限制,比如记录,内存等!
多种方案收集,如下:
方案一:客户端直接命令 *** 作(此方法是我比较喜欢的)
刚恢复一个电商网站mysql备份数据,此备份文件有300多M,因为phpmyadmin支持上传有限,文件太大IE停止响应,所以在本地用
代码如下
复制代码
mysql -u root -p root jiahuibuydb<
c:/yebihaisql
但没导入进去,出来一大堆mysql的参数提示,不认输入的命令参数,后来写成下面这个样子,就是去掉了参数和数据之间的空格
代码如下
复制代码
mysql -uroot -proot jiahuibuydb<
c:/yebihaisql
导入就OK了
导出命令:
a)导出整个库
mysqldump -u 用户名 -p 数据库名 > 导出的文件名
代码如下
复制代码
mysqldump -u root -p student
>d:/yebihaisql
b)导出一个表
mysqldump -u 用户名 -p 数据库名 表名> 导出的文件名
方案二:分块导入
代码如下
复制代码
<
//用来快速Mysql的大数据备份
//使用前请首先按照代码注释修改要导入的SQL文件名、数据库主机名、数据库用户名、密码、数据库名
//同时将数据库文件和本文本一起ftp导网站目录,然后以web方式访问此文件即可
$file_name="sqlsql"; //要导入的SQL文件名
$dbhost="localhost"; //数据库主机名
$dbuser="user"; //数据库用户名
$dbpass="pass"; //数据库密码
$dbname="dbname";
//数据库名
set_time_limit(0); //设置超时时间为0,表示一直执行。当php在safe
mode模式下无效,此时可能会导致导入超时,此时需要分段导入
$fp = @fopen($file_name, "r") or
die("不能打开SQL文件 $file_name");//打开文件
mysql_connect($dbhost, $dbuser,
$dbpass) or die("不能连接数据库 $dbhost");//连接数据库
mysql_select_db($dbname)
or die ("不能打开数据库 $dbname");//打开数据库
mysql_query('set names utf8');
echo "正在执行导入 *** 作";
while($SQL=GetNextSQL()){
if
(!mysql_query($SQL)){
echo
"执行出错>
mysql数据库的导入,有两种方法:
1)
先导出数据库sql脚本,再导入;
2)
直接拷贝数据库目录和文件。
在不同 *** 作系统或mysql版本情况下,直接拷贝文件的方法可能会有不兼容的情况发生。
所以一般推荐用sql脚本形式导入。下面分别介绍两种方法。
2
方法一
sql脚本形式
*** 作步骤如下:
21
导出sql脚本
在原数据库服务器上,可以用phpmyadmin工具,或者mysqldump命令行,导出sql脚本。
211
用phpmyadmin工具
导出选项中,选择导出“结构”和“数据”,不要添加“drop
database”和“drop
table”选项。
选中“另存为文件”选项,如果数据比较多,可以选中“gzipped”选项。
将导出的sql文件保存下来。
212
用mysqldump命令行
命令格式
mysqldump
-u用户名
-p
数据库名
>
数据库名sql
范例:
mysqldump
-uroot
-p
abc
>
abcsql
(导出数据库abc到abcsql文件)
提示输入密码时,输入该数据库用户名的密码。
22
创建空的数据库
通过主控界面/控制面板,创建一个数据库。假设数据库名为abc,数据库全权用户为abc_f。
23
将sql脚本导入执行
同样是两种方法,一种用phpmyadmin(mysql数据库管理)工具,或者mysql命令行。
231
用phpmyadmin工具
从控制面板,选择创建的空数据库,点“管理”,进入管理工具页面。
在"sql"菜单中,浏览选择刚才导出的sql文件,点击“执行”以上载并执行。
注意:phpmyadmin对上载的文件大小有限制,php本身对上载文件大小也有限制,如果原始sql文件
比较大,可以先用gzip对它进行压缩,对于sql文件这样的文本文件,可获得1:5或更高的压缩率。
gzip使用方法:
#
gzip
xxxxxsql
得到
xxxxxsqlgz文件。
提示输入密码时,输入该数据库用户名的密码。
3
直接拷贝
如果数据库比较大,可以考虑用直接拷贝的方法,但不同版本和 *** 作系统之间可能不兼容,要慎用。
31
准备原始文件
用tar打包为一个文件
32
创建空数据库
33
解压
在临时目录中解压,如:
cd
/tmp
tar
zxf
mydbtargz
34
拷贝
将解压后的数据库文件拷贝到相关目录
cd
mydb/
cp
/var/lib/mysql/mydb/
对于freebsd:
cp
/var/db/mysql/mydb/
35
权限设置
将拷贝过去的文件的属主改为mysql:mysql,权限改为660
chown
mysql:mysql
/var/lib/mysql/mydb/
chmod
660
/var/lib/mysql/mydb/
打字不易,如满意,望采纳。
数据太大,用数据库客户端软件直接导入非常卡,还是直接执行SQL吧。
1、指定文件路径。
2、字段之间以逗号分隔,数据行之间以\r\n分隔(我这里文件是以\n分隔的)。
3、字符串以半角双引号包围,字符串本身的双引号用两个双引号表示。
Sql代码
复制代码 代码如下:
load data infile 'D:\\top-1mcsv'
into table `site`
fields terminated by ',' optionally enclosed by '"' escaped by '"'
lines terminated by '\n';
顺带也备份个导出吧。
Sql代码
复制代码 代码如下:
select from `site`
into outfile 'D:\\top-1mcsv'
fields terminated by ',' optionally enclosed by '"' escaped by '"'
lines terminated by '\n';
以上就是关于怎么快速导入一个超大的mysql文件全部的内容,包括:怎么快速导入一个超大的mysql文件、300兆的sql文件如何导入mysql数据库中、如何在mysql中导入/导出超大的sql文本文件等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)