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
但这样会有一个问题,如果有一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为数据库名字;另外后面为目标库*