文档章节

shell脚本执行mysql语句出现的问题

jk409
 jk409
发布于 2015/08/20 13:17
字数 298
阅读 71
收藏 2

shell脚本执行mysql语句出现的问题,问群里的大牛的到解答,是单引号问题,改成双引号即可

#小提示(对本主题没什么关联):ubuntu目前使用的是dash,导致一些for(()函数无法正常执行,

sudo dpkg-reconfigure  dash

选择NO,就改会bash了

一。脚本内容如下:

#/bin/bash
hostname='192.168.2.52'
port=3306
username='root'
password='123456'
#dbname=''
#-----sql cmd---------------------------
sql_cmd='ALTER TABLE `mysql`.`user` ADD COLUMN `test` VARCHAR(1) NULL COMMENT 'test' AFTER `t3`;'
sql_cmd_02='show tables;'
sql_cmd_03='ALTER TABLE `mysql`.`user` ADD COLUMN `test3` VARCHAR(1) NULL COMMENT '操作系统名test_03';'
sql_cmd_04='select * from `mysql`.`user`;'
sql_cmd_05='ALTER TABLE `mysql`.`user` ADD COLUMN `test3` VARCHAR(1) NULL COMMENT '操作系统名test_03';'
mysql -h${hostname} -P${port} -u${username} -p${password}  -e "${sql_cmd_03}"

二.报错内容:

t

kkk@zabbix:~$ sh mysql-tb.sh 
ERROR 1064 (42000) at line 1: You have an error in your SQL syntax; check the manual that corresponds 
to your MariaDB server version for the right syntax to use near '操作系统名test_03' at line 1

三.解决方式:

  sql语句中的COMMENT的内容需要双引号:

ALTER TABLE `mysql`.`user` ADD COLUMN `test3` VARCHAR(1) NULL COMMENT '操作系统名test_03';'
改成:
ALTER TABLE `mysql`.`user` ADD COLUMN `test3` VARCHAR(1) NULL COMMENT "操作系统名test_03";'


© 著作权归作者所有

共有 人打赏支持
jk409
粉丝 21
博文 159
码字总数 38443
作品 0
深圳
后端工程师
私信 提问
解决Lost connection to MySQL server at 'reading i...

当通过 TCP/IP 连接 MySQL 远程主机时,出现 ERROR 2013 (HY000): Lost connection to MySQL server at 'reading initial communication packet', system error: 104 。 如果是在linux shell......

durban
2012/12/20
0
2
shell 处理mysql的增删改查

引言 这几天做一个任务,比对两个数据表中的数据,今天写个shell版本的,这样,在所有linux系列机器上就都可以运行了。 shell是如何操作mysql的? shell操作mysql其实就是通过mysql命令通过参...

洋哥6
2016/10/28
18
0
linux下shell执行mysql命令

在shell开发中,很多时候我们需要操作mysql数据库(比如:查询数据、导出数据等),但是我们又无法进入mysql命令行的环境,就需要在shell环境中模拟mysql的环境,使用mysql相关命令,本文总结...

fjabing
2014/04/30
0
0
Shell脚本中执行mysql语句

对于自动化运维,诸如备份恢复之类的,DBA经常需要将SQL语句封装到shell脚本。本文描述了在Linux环境下mysql数据库中,shell脚本下调用sql语句的几种方法,供大家参考。对于脚本输出的结果美...

Carl_
2015/02/26
0
0
Shell脚本中执行sql语句操作mysql的5种方法

Shell脚本中执行sql语句操作mysql的5种方法 投稿:junjie 字体:[增加 减小] 类型:转载 时间:2014-10-31 我要评论 对于自动化运维,诸如备份恢复之类的,DBA经常需要将SQL语句封装到shell...

梁东升
2016/07/13
0
0

没有更多内容

加载失败,请刷新页面

加载更多

mybatis缓存的装饰器模式

一般在开发生产中,对于新需求的实现,我们一般会有两种方式来处理,一种是直接修改已有组件的代码,另一种是使用继承方式。第一种显然会破坏已有组件的稳定性。第二种,会导致大量子类的出现...

算法之名
昨天
11
0
单元测试

右键方法 Go To --> Test,简便快速生成测试方法。 相关注解 @RunWith(SpringRunner.class) 表示要在测试环境中跑,底层实现是 jUnit测试工具。 @SpringBootTest 表示启动整个 Spring工程 @A...

imbiao
昨天
2
0
欧拉公式

欧拉公式表达式 欧拉公式的几何意 cosθ + j sinθ 是个复数,实数部分也就是实部为 cosθ ,虚数部分也就是虚部为 j sinθ ,对应复平面单位圆上的一个点。 根据欧拉公式和这个点可以用 复指...

sharelocked
昨天
4
0
burpsuite无法抓取https数据包

1.将浏览器和burpsuite的代理都设置好 2.在浏览器地址栏输入: http://burp 3.下载下面的证书,并将证书导入浏览器 cacert.der

Frost729
昨天
2
0
JeeSite4.x 消息管理、消息推送、消息提醒

实现统一的消息推送接口,包含PC消息、短信消息、邮件消息、微信消息等,无需让所有开发者了解消息是怎么发送出去的,只需了解消息发送接口即可。 所有推送消息均通过 MsgPushUtils 工具类发...

ThinkGem
昨天
9
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部