问题描述:
使用转储SQL文件方式,是生成一个sql 文件, 但是导入到另外数据库服务后,就会莫名奇妙报错,还会缺表,于是只能通过
导出向导方式, 后面这种方式就是一个表一个SQL 文件, 像我有上百个表就会生成上百个sql 文件。
问题来了:
这么多个sql 文件, navicat 运行sql 文件时候却只能一次选一个文件,这简直要疯人。
解决方案:
使用 mysql 命令遍历文件执行:
编写 bat 脚本文件:
新建 aa.bat
内容如下:
:: echo off ::
@echo off
echo begin .....
for %%i in (D:\liyx\nengxun_huanjing\temp\mysql_file\*.sql) do (
echo doing %%i wait ....
echo set names utf8;>all.sql
echo source %%i>>all.sql
D:\liyx\mysql_ser\mysql-5.6.50-winx64\bin\mysql.exe -u root -proot#1234 -P3308 -D pddyjc01 --max_allowed_packet=1048576 --net_buffer_length=16384 < all.sql
echo %%i end
)
echo all end ....
pause
核心命令:
mysql.exe -u root -proot#1234 -P3308 -D pddyjc01 --max_allowed_packet=1048576 --net_buffer_length=16384 < all.sql
D:\liyx\nengxun_huanjing\temp\mysql_file 改成自己目录
D:\liyx\mysql_ser\mysql-5.6.50-winx64\bin 改成自己mysql 安装目录
-P3308 端口
-D pddyjc01 指定数据库名称
执行 bat 文件:
双击执行 aa.bat
静等结束!!!