用户登录
用户注册

分享至

关于SHELL+MYSQL

  • 作者: 花江猫狗肉馆馆主
  • 来源: 51数据库
  • 2021-08-26

1、SHELL远程连接MYSQL
mysql -h hostname -P port -u username -pUSERPWD -D databesename
注意-p和密码之间没有空格

mysql -h ${ADDRESS} -P ${PORT} -u ${DBUSR} -p${DBUSRPWD} -D ${DBNAME}

2、SHELL连接MYSQL执行脚本并输出html
方法一、管道符 输出sql结果到指定文件${RESULT_FILE}

mysql -h ${ADDRESS} -P ${PORT} -u ${DBUSR} -p${DBUSRPWD} -D ${DBNAME}  --html >> ${RESULT_FILE} <<EOF
select version() as "数据库版本",database() as "当前数据库";
\q;
EOF

方法二、-e${SQL}输出sql结果到指定文件

SQL='select version(),database()'
mysql -h ${ADDRESS} -P ${PORT} -u ${DBUSR} -p${DBUSRPWD} -D ${DBNAME}  --html -e'${SQL}'>> ${RESULT_FILE}

用这种方法,sql语句最好就不要有引号什么的,转义太麻烦了

方法三、tee输出过程中所有日志
上面都是将输出结果重定向到文件里去了,如果不重定向,通过tee命令将之后的内容记录到文件则会展示查询语句和查询了多少行的信息
示例:

mysql -h ${ADDRESS} -P ${PORT} -u ${DBUSR} -p${DBUSRPWD} -D ${DBNAME}  --html 
tee test.html # tee命令表示将之后的内容记录到某个文件
select * from test.tab_json;
notee;# 关闭记录日志

展示的结果就是下面这个亚子:

这里有篇文章可以参考:
https://www.cnblogs.com/chuanzhang053/p/9323017.html

软件
前端设计
程序设计
Java相关