首页 运维 网络学院 查看内容

不登陆数据库执行mysql命令小结

2011-12-19 14:12 378 0

摘要: 不登陆数据库执行mysql命令小结(本文适合有一定mysql数据库经验的读者)##########################################################《老男...

不登陆数据库执行mysql命令小结(本文适合有一定mysql数据库经验的读者)##########################################################《老男孩linux运维培训学校》--mysql课程内容之#不需登陆mysql数据库执行mysql命令的简单总结#date:2011-08-06#作者:老男孩#QQ:31333741 MAIL:[email protected]#QQ交流群:45039636    #blog: http://oldboy.blog.51cto.com#psite: http://oldboy.cc(即将开放)#pblog:http://blog.etiantian.org########################################################## █ 1.通过echo实现(这个比较常见)echo "show databases;" | mysql -uroot -p'oldboy' -S /data/3308/mysql.sock提示:此法适合单行字符串比较少的情况。 █ 2.通过cat实现(此法用的不多)cat |mysql -uroot -p'oldboy' -S /data/3308/mysql.sock << EOFshow databases;EOF提示:此法适合多行字符串比较多的时候。 █ 3.通过mysql -e参数实现mysql -u root -p'oldboy' -S /data1/3307/mysql.sock -e "show databases;" █ 特殊生产场景应用:例一:mysql自动批量制作主从同步需要的语句。cat |mysql -uroot -p'oldboy' -S /data/3308/mysql.sock<< EOF        CHANGE MASTER TO   MASTER_HOST='10.0.0.16',  MASTER_PORT=3306, MASTER_USER='oldboyrep',  MASTER_PASSWORD='oldboyrep',  MASTER_LOG_FILE='mysql-bin.000025' MASTER_LOG_POS=4269; EOF提示:大家多注意整个语句的写法,而不是cat中的内容。 例二:mysql线程中,“大海捞针”   平时登陆数据库show processlist;,发现结果经常超长,找自己要看的的比较困难,而且,SQL显示不全。如果直接执行show full processlist那更是瞬间滚了N屏。找到有问题的SQL语句非常困难。 现在好了,老男给你们推荐如下语句。mysql -u root -p'oldboy' -S /data1/3307/mysql.sock -e "show full processlist;"|grep -v Sleep过滤当前执行的SQL语句完整内容,这条命令很有用。不知道你能否体会到。后面还可以加iconv等对中文转码,根据需求过滤想要的内容,此命令屡试不爽啊。   本文出自 “老男孩的linux博客” 博客,请务必保留此出处http://oldboy.blog.51cto.com/2561410/632608
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系 [邮箱地址] 删除

路过

雷人

握手

鲜花

鸡蛋

最新评论

返回顶部