昨天,为了一个项目的数据初始化问题,需要在新系统的MySQL库中加入新的库,新的数据。借鉴了网络上各位大神的方法。实现如下:
@ECHO OFF
SET dbhost=127.0.0.1
SET dbuser=root
SET dbpasswd=123456
SET sqlpath=%~dp0
set sqlfile=20211014.sql
cd /d C:\Program Files\MySQL\MySQL Server 5.7\bin
ECHO Writing Data,Please Waiting ...
mysql -h%dbhost% -u%dbuser% -p%dbpasswd% < %sqlpath%%sqlfile% --default-character-set=utf8
@ECHO Done!
但是这个在创建该文件的目录可用,在实际应用的目录却一直报 “系统找不到指定的文件”。
经过关进程、重启机器等等方式,都是一样的问题,没有发生任何变化。
在没有办法的时候,突然想到之前在工作中遇到的问题,关于路径空格的问题。我就又仔细比对了一下两个bat运行的路径,发现我目的路径中,文件夹存在空格。所以就将路径改为
mysql -h%dbhost% -u%dbuser% -p%dbpasswd% < "%sqlpath%%sqlfile%" --default-character-set=utf8
之后就可以找到相应的文件了。
还有一个问题就是在mysql语句中存在密码的问题,会有异常提示显示。看到网上的各种办法,解决的方式也较麻烦,还好它仅仅是个提示,功能还是在正常实现。也就没有对其处理。
参考:.bat批处理数据库导入sql文件,“系统找不到指定文件”问题_隐居的山贼-CSDN博客
批处理(.bat)文件中找不到文件等路径问题_feiyu68的博客-CSDN博客