我的建议:1在服务器建立一个相同模型的数据库,将数据分批写进去,然后将模型数据库分离到本地附加就行了。
2或者做服务器本地的数据库备份,定义备份作业,执行时间设在网站访问量小的时间段执行。
在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
的好用之处就是其命令行简单明了。
mysqldump是最快的方法。你看不懂没关系,可以照着做。
1打开DOS窗口
2键入
mysqldump
--user
root
--password=123456
mysql
>
d:\mysqlsql
--user
表示要你的mysql登陆用户名
超级用户默认为root
--password=123456
就是密码了,你的是多少就把123456换成你的。
mysql
是数据库名,你要导出的是什么,就换成什么名。
>
是重定向符
,把数据库的内容以sql代码的形式重定向到d:\mysqlsql文件。
知道了导出,肯定要导入:
导入方法:
1打开DOS窗口。
2键入mysql
-uroot
-p123456
mysql
<
d:\mysqlsql
就是上面的相反过程。只是形式有点差别。
很简单吧。
以上就是关于sqlserver2000大量数据库表从服务器如何导出到本地全部的内容,包括:sqlserver2000大量数据库表从服务器如何导出到本地、如何在mysql中导入/导出超大的sql文本文件、mysql如何导出整个数据库等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)