首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从.sh脚本截断表?

如何从.sh脚本截断表?
EN

Stack Overflow用户
提问于 2013-09-17 16:20:09
回答 2查看 6.8K关注 0票数 0

我使用这个.sh脚本来优化表

代码语言:javascript
复制
#!/bin/sh 
mysql -u'user' -p'pwd' -D'db' </var/www/vhosts/mydomain/httpdocs/optimize.sql

在optimize.sql中...and这个sql

代码语言:javascript
复制
OPTIMIZE TABLE `this_table` 

这一切都运行得很好。

现在我正在做同样的事情来截断一个表:

代码语言:javascript
复制
#!/bin/sh 
mysql -u'user' -p'pwd' -D'db' </var/www/vhosts/mydomain/httpdocs/truncate.sql

在truncate.sql中...and这个sql

代码语言:javascript
复制
TRUNCATE TABLE `this_table`

...but它不工作!怎么啦?

附言:我使用Crontab每隔x分钟运行一次.sh,这只适用于优化

EN

回答 2

Stack Overflow用户

发布于 2017-03-15 03:27:45

您还可以使用文件来存储mysql凭据,例如:

代码语言:javascript
复制
nano .my.cnf

并添加以下内容:

代码语言:javascript
复制
[mysql]
user=your_user
password=the_super_secret_password

然后在shell脚本中执行SQL语句,如下所示:

代码语言:javascript
复制
#!/bin/bash
`mysql --defaults-file=/path/to/.my.cnf -e "truncate table this_table;"`

为什么要将凭据放在一个单独的文件中?,这样在更改密码时,您拥有的所有使用这些凭据的shell脚本都不必单独更新。

票数 2
EN

Stack Overflow用户

发布于 2013-09-17 16:27:34

你也可以

代码语言:javascript
复制
#!/bin/sh 
echo "truncate table this_table" | mysql -u'user' -p'pwd' -D'db'
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18844745

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档