详解linux下面利用shell脚本操作mysql数据库
在centos7环境下进行编码测试:
#!/bin/bash
mysql -u root <<EOF
use www_example_com;
UPDATE wp_posts SET post_name='001' WHERE id='70';
exit
EOF
将上述文件保存成sh文件,然后赋予权限chmod +x,即可执行。在开始使用了mysql -u root进行登录,这步操作之前需要设置mysql免密码登录即可
第二种执行shell脚本的方法:
/bin/sh /root/example_operate/test.sh
如何设置mysql免密码登录:
1,首先停止mysql服务
systemctl stop mysqld
2,修改配置文件无密码登录
vi /etc/my.cnf
在最尾部加上
skip-grant-tables
保存并退出
3,启动mysql
systemctl start mysqld.service
4,登录mysql
mysql -u root
连按两次回车,进入mysql
此处注意不要加-p
另外附加Linux中shell脚本EOF的用法:
Shell中通常将EOF与 << 结合使用,表示后续的输入作为子命令或子Shell的输入,直到遇到EOF为止,再返回到主调Shell。
可以把EOF替换成其他东西,意思是把内容当作标准输入传给程序。
回顾一下< <的用法。当shell看到< <的时候,它就会知道下一个词是一个分界符。在该分界符以后的内容都被当作输入,直到shell又看到该分界符(位于单独的一行)。这个分界符可以是你所定义的任何字符串。
例子:自动登录mysql,查询test库,test1表里的user=aa的记录。
复制代码代码如下:
#!/bin/sh
MySQL -uroot -p123456 <<EOF
use test;
select * from testaa while a=10000; ###1000 not usr single quote mark,because a is int
# type,only char type need single quote mark.
exit
EOF
还没有评论,来说两句吧...