不登陆数据库执行mysql命令

1。通过回声实现(这个比较常见)

回声“显示数据库;”| mysql -uroot -pqwe123 - s/3307/mysql/数据。袜子

提示:此法适合单行字符串比较少的情况。


2。通过mysql - e参数实现

根-pqwe123 mysql - u - s/data1/3307/mysql。袜子- e”显示数据库;


3。通过猫实现(此法用的不多)

猫| mysql -uroot -pqwe123 - s/3307/mysql/数据。袜子& lt; & lt;EOF

显示数据库;

EOF

提示:此法适合多行字符串比较多的时候。


特殊生产场景应用:

例一:mysql自动批量制作主从同步需要的语句。

猫| mysql -uroot -pqwe123 - s/数据/3307/mysql.sock<& lt;EOF

,,,,改变主,

, MASTER_HOST=?0.0.0.16”,

, MASTER_PORT=3306,

, MASTER_USER=敖堋?

, MASTER_PASSWORD=皅we123”,

, MASTER_LOG_FILE=癿ysql-bin.000025”

, MASTER_LOG_POS=4269;,

EOF

提示:大家多注意整个语句的写法,而不是猫中的内容。

例二:mysql线程中,“大海捞针”

,,平时登陆数据库显示processlist;,发现结果经常超长,找自己要看的的比较困难,而


且,

SQL显示不全。如果直接执行显示完整processlist那更是瞬间滚了N屏。找到有问题的

SQL语句非常困难。

现在好了,给你们推荐如下语句。

mysql -uroot -pqwe123, - e“显示全部processlist;”| grep - v睡眠

过滤当前执行的SQL语句完整内容,这条命令很有用。后面还可以加iconv等对中文转码,

根据需求过滤想要的内容。


不登陆数据库执行mysql命令