使用bat脚本执行MySQL命令时遇到的坑

相关文章:(推荐)bat脚本执行mysql命令导入sql文件到数据库 https://blog.csdn.net/womenrendeme/article/details/75799515

 

背景:

作为一个初级小白,因为前段时间接触了项目的实施部署,发现,在数据库导入数据或更新数据库时,原来除了使用navicat这样一些工具外,也可以使用bat批量命令行,对于实施人员来说其实更简单。

创建一个bat文件,内容如下(图中有错,正确版请看文章最后):(图中的01、02两个sql文件和bat文件放在同个目录下)

使用bat脚本执行MySQL命令时遇到的坑_第1张图片

在后期整理中,想学习一下,于是在自己的开发环境试了一下,发现一些问题,记录如下:

 

坑一:  ”mysql不是内部命令也不是可运行的程序“

原因:没有配置MySQL的环境变量

解决:配置方式类似于JDK的配置。将MySQL的安装路径下的bin目录,将路径添加到系统变量的path属性中即可,注意要加;与其它分隔。

使用bat脚本执行MySQL命令时遇到的坑_第2张图片

 

坑二:“ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using passwor)”

原因:出现这个问题,一般就是数据库连接参数有问题,主机,用户名,密码等

解决:我是写错了密码,所以换了正确的密码即可。当然,网上有许多关于这个报错的讨论,通常是忘记了密码需要重设等,具体请参考:

https://www.cnblogs.com/qq78292959/p/3641972.html

https://blog.csdn.net/lisongjia123/article/details/57418989

 

坑三:“ERROR 1043<08S01>: Bad handshake”

原因:查了以下错误代码,发现是”无效连接“。

解决:未解决,网上很少资料,查了一下好像是MySQL版本的问题,因为连接的库不在本地无法确定版本,也改不了,所以无法解决,求等大神指导!

请参考:https://lists.mysql.com/mysql/175966

为了继续进行下去,我在本地拷贝配置了一个数据库,本地版本MySQL8.0,则不再出现这个报错。

 

坑四:“ERROR 1046 (3D000) at line 15: No database selected”

原因:字面上看,就是”没有选择数据库“

解决:其实,就是bat命令里面的命令行参数漏了数据库名。。。(不要问我为什么犯这种低级错误,这是之前项目实施文档已有的文件。。。真不知道之前是怎么运行的。。。),最终修改后如下:

使用bat脚本执行MySQL命令时遇到的坑_第3张图片

双击运行该bat文件,成功!完美!

总结:还是好好用navicat吧!除了像我们这种开发,实施维护人员应该更加熟练了!当然,批处理命令是完全封装好了,实施人员双击傻瓜式操作确实最简单,这块自己完全是小白,有机会可以好好研究一下!

 


结束和声明

以上纯属个人观点和体会,相关的资料和观点来自网络的朋友们!
希望这篇文章能对你有所帮助! 
欢迎大家来一起讨论分享干货,或者批评指正! 
更加热切盼望各路大神前辈给些指导和建议!
转载请注明出处!或者联系我!([email protected]

 

 

 

你可能感兴趣的:(心得总结,异常,sql)