欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

mysql source导入多个sql文件和较大文件及在线互转

程序员文章站 2022-06-17 15:46:52
...

mysqluse dbtest; mysqlset names utf8; mysqlsource D:/mysql/all.sql; 通过source命令导入多个文件,可以新建一个all.sql文件,里面存放下面的命令 例如: source d:/a1.sql; source d:/a2.sql; 当你运行 mysqlsource D:/mysql/all.sql; 这样就可以在一个s

mysql>use dbtest;
mysql>set names utf8;

mysql>source D:/mysql/all.sql;

通过source命令导入多个文件,可以新建一个all.sql文件,里面存放下面的命令
例如:
source d:/a1.sql;
source d:/a2.sql;
当你运行
mysql>source D:/mysql/all.sql;
这样就可以在一个source命令里面导入多个sql文件了。

我看到还有人尝试用 source *.sql 来执行,这样是不行的(哥也尝试了一下)。
值得注意一点的是,all.sql加载进来的sql文件最好写绝对路径,否则会找不到文件,除非你是在.sql的同级目录底下启用的mysql


这样就可以在一个source命令里面导入多个sql文件了。

但这样会有一个问题,如果有一100个这样的文件我们一个个去写命令肯定很麻烦,下面我百度搜索到一个解决办法

新建一个all.sql
vim all.sql
在里面写入:
source 1.sql
source 2.sql
......
source 53.sql
source 54.sql
然后只要
mysql> source all.sql



另一种大文件导入解决办法,这个是用服务器管理权限的用户了

在mysql的安装目录下 找到 my.ini文件 加入以下代码:

interactive_timeout = 120
wait_timeout = 120
max_allowed_packet = 32M
导入sql的命令行如下:

source "路径名"+/mytest_emp_dept.sql

如果两个在线的网站互转数据,解决就更简单了:
mysqldump -uuser -ppwd database | mysql -hip -ppwd database
*user为数据库用户名;pwd为数据库密码;ip为数据库ip;database为数据库名字;另外后面为目标库*