MYSQL:如何检查退出状态? [英] MYSQL: How to check exit status?

查看:160
本文介绍了MYSQL:如何检查退出状态?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我已经与MySQL的远程连接出现问题。位于美国的一个服务器,另一个设在荷兰和它们之间的连接是可怕的,尤其是在晚上。

我设法通过设置超时

要解决选择查询

 完成< ≤(MySQL的--connect_timeout = 10 --batch -e$ {} selectQ-u $ {}用户-p $ {密码} $ {}数据库-h $ {HOST})

但我不知道如何解决更新查询,因为它应该只发送一次。

 回声UPDATE表设置字段='1'WHERE ID ='$ {ID}'| MySQL的-u $ {}用户-p $ {密码} $ {}数据库-h $ {HOST}


解决方案

同样的方式:

 回声UPDATE表设置字段='1'WHERE ID ='$ {ID}'|
       MySQL的--connect_timeout = 10 -u $ {}用户-p $ {密码} $ {}数据库-h $ {HOST}

为了检查结果,这里有一个例子:

 为myhost:〜#回声傻查询;| mysql的-unoone -pwrong DBEMPTY -hlocalhost
ERROR 1045(28000):拒绝访问用户'没有人'@'localhost'的(使用密码:YES)
为myhost:〜#$回声?
1
为myhost:〜#回声选择0;| mysql的-uvaliduser -pproperpassword MYTESTDB -hlocalhost
0
0
为myhost:〜#$回声?
0

I've a problem with mysql remote connections. One server located in USA, the other located in Netherlands and the connection between them is horrible, especially in the evenings.

I managed to solve the select query by setting a timeout

done < <(mysql --connect_timeout=10 --batch -e "${selectQ}" -u${user} -p${password} ${database} -h ${host})

but I don't know how to solve update query, as it should be send only once.

echo "UPDATE table set field='1' WHERE id='${id}'" | mysql -u${user} -p${password} ${database} -h ${host}

解决方案

same way:

echo "UPDATE table set field='1' WHERE id='${id}'" | 
       mysql --connect_timeout=10 -u${user} -p${password} ${database} -h ${host}

in order to check the results, here's an example:

myhost:~ # echo "silly query;"|mysql -unoone -pwrong DBEMPTY -hlocalhost
ERROR 1045 (28000): Access denied for user 'noone'@'localhost' (using password: YES)
myhost:~ # echo $?
1
myhost:~ # echo "select 0;"|mysql -uvaliduser -pproperpassword MYTESTDB -hlocalhost
0
0
myhost:~ # echo $?
0

这篇关于MYSQL:如何检查退出状态?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆