用脚本完成mysql工作

摘要:
1.使用mysql-e在脚本#!

1. 用mysql -e在脚本中执行mysql的sql语句

#!/bin/bash
#simple mysql shell usage

logtime=`date "+%Y-%m-%d"`
LOG=call_sql_${logtime}.log
echo "Start execute sql statement at `date`" >>${LOG}

#execute sql stat
mysql -u root -p19930309 -e "
tee /tmp/temp.log
use test
drop table if exists stu;
create table  stu(name varchar(20),age int);
insert into stu values('wangkun',12),('amei',12),('Jack',14);
select * from stu;
notee
quit
"
echo -e "
" >> ${LOG}
echo "below is output result :" >> ${LOG}
cat /tmp/temp.log >> ${LOG}
echo "scrtip execute successful." >> ${LOG}
exit

  执行结果

  

Start execute sql statement at Mon Apr 18 23:23:01 CST 2016


below is output result :
+---------+------+
| name    | age  |
+---------+------+
| wangkun |   12 |
| amei    |   12 |
| Jack    |   14 |
+---------+------+
scrtip execute successful.

2.通过管道符号

 select2.sql

tee /home/hadoop_admin/mysql.log
use test
drop table if exists stu;
create table  stu(name varchar(20),age int);
insert into stu values('wangkun',12),('amei',12),('Jack',14);
select * from stu;
notee
quit

  

[hadoop_admin@master mysql_shell]$ mysql -u root -p19930309 < ./select2.sql
Warning: Using a password on the command line interface can be insecure.
Logging to file '/home/hadoop_admin/mysql.log'
name    age
wangkun 12
amei    12
Jack    14
Outfile disabled.

3.命令行单独调用sql文件

 select2.sql

tee /home/hadoop_admin/mysql.log
use test
drop table if exists stu;
create table  stu(name varchar(20),age int);
insert into stu values('wangkun',12),('amei',12),('Jack',14);
select * from stu;
notee
quit
[hadoop_admin@master mysql_shell]$ mysql -u root -p19930309 -e "source select2.sql"
Warning: Using a password on the command line interface can be insecure.
Logging to file '/home/hadoop_admin/mysql.log'
+---------+------+
| name    | age  |
+---------+------+
| wangkun |   12 |
| amei    |   12 |
| Jack    |   14 |
+---------+------+
Outfile disabled.

4. shell脚本中MySQL提示符下调用SQL , oracle 也可以这样干

  select3.sh

  

#!/bin/bash
mysql -u root -p19930309 <<EOF
tee /home/hadoop_admin/mysql.log
use test
drop table if exists stu;
create table  stu(name varchar(20),age int);
insert into stu values('wangkun',12),('amei',12),('Jack',14);
select * from stu;
notee
quit
EOF
exit

  执行情况

  

[hadoop_admin@master mysql_shell]$ ./select3.sh
Warning: Using a password on the command line interface can be insecure.
Logging to file '/home/hadoop_admin/mysql.log'
name    age
wangkun 12
amei    12
Jack    14
Outfile disabled.

免责声明:文章转载自《用脚本完成mysql工作》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Delphi格式化输出函数(1): FormatCSS-calc 兼容写法下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

MySQL与Oracle的区别

1、Oracle是大型数据库而MySQL是中小型数据库,Oracle市场占有率达40%,MySQL只有20%左右,同时MySQL是开源的而Oracle价格非常高 2、Oracle支持大并发,大访问量,是OLTP最好的工具 3、安装所用的空间差别也是很大的,Mysql安装完后才152M而Oracle有3G左右,且使用的时候Oracle占有特别大的内存空间和其...

Mysql 查看连接数,状态 最大并发数

1、显示mysql当前状态 mysqladmin -uroot -p status Uptime: 182341 Threads: 7 Questions: 2831137 Slow queries: 0 Opens: 1536 Flush tables: 3 Open tables: 1171 Queries per second av...

Navicat远程连接MySQL数据库

Navicat连接远程MySQL数据库 环境:Ubuntu 18.10 (GNU/Linux 4.18.0-13-generic x86_64)+Navicat 12.0.18(64-bit)-Premium Welcome to Ubuntu 18.10 (GNU/Linux 4.18.0-13-generic x86_64) * Documen...

mysql通过mysql_install_db初始化数据目录时使用--user选项的作用是什么?

需求描述:   mysql数据库通过mysql_install_db初始化数据目录时,使用了--user选项,这里记录下该参数的作用 参数解释: 1.--user的作用:就是以哪个操作系统用户来执行mysqld进程(使用哪个用户来运行mysql server) 2.比如,指定了--user=mysql之后,那么通过mysqld创建的文件或者目录都是被mys...

mysql-community-server-5.7.24 &amp;amp; 5.7.31 (5.6.35 升级到 5.7.24)

阶段1: rpm -qa | grep mysql wget https://cdn.mysql.com/archives/mysql-5.7/mysql-5.7.24-1.el6.x86_64.rpm-bundle.tar wget https://cdn.mysql.com/archives/mysql-5.7/mysql-community-serv...

yum 安装 Mysql error ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES) 开启远程连接 修改登入密码 忘记root密码 配置防火墙规则 随手mark

yum 安装 MYsql:        yum install mysql mysql-server mysql-devel -y 1.1 登入报错: ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES) 解决办法:# service...