详解linux下面利用shell脚本操作mysql数据库

朱雀 2020-09-12 00:42 770阅读 0赞

在centos7环境下进行编码测试:

  1. #!/bin/bash
  2. mysql -u root <<EOF
  3. use www_example_com;
  4. UPDATE wp_posts SET post_name='001' WHERE id='70';
  5. exit
  6. EOF

将上述文件保存成sh文件,然后赋予权限chmod +x,即可执行。在开始使用了mysql -u root进行登录,这步操作之前需要设置mysql免密码登录即可

第二种执行shell脚本的方法:

  1. /bin/sh /root/example_operate/test.sh

如何设置mysql免密码登录:

1,首先停止mysql服务

  1. systemctl stop mysqld

2,修改配置文件无密码登录

  1. vi /etc/my.cnf

在最尾部加上

  1. skip-grant-tables

保存并退出

3,启动mysql

  1. systemctl start mysqld.service

4,登录mysql

  1. mysql -u root

连按两次回车,进入mysql
此处注意不要加-p

另外附加Linux中shell脚本EOF的用法:

Shell中通常将EOF与 << 结合使用,表示后续的输入作为子命令或子Shell的输入,直到遇到EOF为止,再返回到主调Shell。
可以把EOF替换成其他东西,意思是把内容当作标准输入传给程序。

回顾一下< <的用法。当shell看到< <的时候,它就会知道下一个词是一个分界符。在该分界符以后的内容都被当作输入,直到shell又看到该分界符(位于单独的一行)。这个分界符可以是你所定义的任何字符串。

例子:自动登录mysql,查询test库,test1表里的user=aa的记录。

复制代码代码如下:

  1. #!/bin/sh
  2. MySQL -uroot -p123456 <<EOF
  3. use test;
  4. select * from testaa while a=10000; ###1000 not usr single quote mark,because a is int
  5. # type,only char type need single quote mark.
  6. exit
  7. EOF

发表评论

表情:
评论列表 (有 0 条评论,770人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Linux脚本shell详解

    概述 脚本:本质是一个文件,文件里面存放的是特定格式的指令,系统可以使用脚本解析器翻译或解析指令并执行(它不需要编译) shell 既是一个用 C 语言编写的应用程序,