Advertisement
Guest User

Untitled

a guest
May 17th, 2018
142
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Diff 2.11 KB | None | 0 0
  1. --- mysql_stats.sh  2018-05-16 09:30:17.227270146 +0000
  2. +++ mysql_stats_new.sh  2018-05-17 11:18:06.957885462 +0000
  3. @@ -1,5 +1,9 @@
  4.  #!/bin/bash
  5.  
  6. +# Modified by D.Kolosvetov 17/05/18
  7. +# Fixed security leaks
  8. +# Fixed Mysql 5.7 mysqladmin errors
  9. +
  10.  ### DESCRIPTION
  11.  # $1 - измеряемая метрика
  12.  
  13. @@ -10,9 +14,29 @@
  14.  
  15.  ### PARAMETERS
  16.  METRIC="$1"
  17. -USER="status_monitor"
  18. -PASSWD="tF4VmGC8HftX"
  19. -HOST="127.0.0.1"
  20. +
  21. +# Create .cnf file and user fist!
  22. +# We do not need privileges level  more than this:
  23. +#
  24. +# GRANT SUPER, REPLICATION CLIENT ON *.* TO 'username'@'host'
  25. +#
  26. +# Do not use "localhost" if skip-name-resolve is enabled, use '127.0.0.1' instead.
  27. +# .cnf file must look like this:
  28. +# ###################
  29. +# [mysqladmin]
  30. +# user=username
  31. +# password=pass  
  32. +# host=127.0.0.1
  33. +#
  34. +# [client]
  35. +# user=username
  36. +# password=pass  
  37. +# host=127.0.0.1
  38. +#####################
  39. +# Do not forget set proper permissions - 0600 to .cnf file
  40. +
  41. +
  42. +MYCNF="/etc/zabbix/scripts/mysql.cnf"
  43.  
  44.  
  45.  MYSQLADMIN=`which mysqladmin`
  46. @@ -23,7 +47,7 @@
  47.  ### RUN
  48.  # Проверка работы mysql не кешируется
  49.  if [ $METRIC == "alive" ]; then
  50. - $MYSQLADMIN -h$HOST -u$USER -p$PASSWD ping | grep alive | wc -l
  51. + $MYSQLADMIN --defaults-file=${MYCNF}  ping | grep alive | wc -l
  52.   exit 0
  53.  fi
  54.  
  55. @@ -47,9 +71,9 @@
  56.  if [ "$(($TIMENOW - $TIMECACHE))" -gt "$CACHETTL" ]; then
  57.          # genarate cachefile for extended-status
  58.  #        echo "Creating cache...."
  59. -        $MYSQLADMIN -h$HOST -u$USER -p$PASSWD extended-status > $CACHEFILE || exit 1
  60. -        $MYSQLADMIN -h$HOST -u$USER -p$PASSWD variables >> $CACHEFILE || exit 1
  61. -        $MYSQL      -h$HOST -u$USER -p$PASSWD -e "SHOW SLAVE STATUS\G" | tr ":" "|" | awk '{ if (FNR!=1) print "| "$0 }' >> $CACHEFILE || exit 1
  62. +        $MYSQLADMIN --defaults-file=${MYCNF} extended-status > $CACHEFILE || exit 1
  63. +        $MYSQLADMIN --defaults-file=${MYCNF} variables >> $CACHEFILE || exit 1
  64. +        $MYSQL --defaults-file=${MYCNF} -e "SHOW SLAVE STATUS\G" | tr ":" "|" | awk '{ if (FNR!=1) print "| "$0 }' >> $CACHEFILE || exit 1
  65.  fi
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement