mysql

mysql

  • Show Grants:

      mysql --skip-column-names -e "select distinct concat('show grants for''',user,'''@''',host,''';') as query from mysql.user" | \
      mysql --skip-column-names | \
      perl -ne 'next if m/(?:replica|root)/; s/$/;/; print; END {print "flush privileges;\n" }'
    

    or use maatkit

  • Show Users:

      select user,host from mysql.user;   
    
perl

perl

  • Debugging:

      $| = 1;
    
      Wenn diese Variable auf einen Wert ungleich 0 gesetzt wird, werden Ausgaben mit print nicht gepuffert, sondern erfolgen in dem Augenblick, wo die print-Anweisung interpretiert wird. Normalerweise puffert Perl Ausgaben, um sie dann blockweise auszugeben.
    
  • Base64 encoding (e.g. smtp auth)

      perl -MMIME::Base64 -e print encode_base64("text"); 
    
string manipulation

strings

  • feature

        $ greedy match     : 1#2#3#4 -> 1#2#3
        $ non greedy match : 1#2#3#4 -> 1
        $ last column      : 1#2#3#4 -> 4
    
  • sed

        $ sed -e 's/\(.*\)#.*/\1/'
        $ sed -e 's/\([^#]*\)#.*/\1/'
        $ sed -e 's/.*#//'
    
  • perl

        $ perl -pe 's/(.*)#.*/\1/'
        $ perl -pe 's/(.*?)#.*/\1/'a
        $ perl -pe 's/.*#(.*)/\1/'
        $ perl -lane 'print $F[-1]' (alt. last column)
    
  • ruby

        $ ruby -pe "gsub(/(.*)#.*/,'\1')"
        $ ruby -pe "gsub(/(.*?)#.*/,'\1')"
        $ ruby -pe "gsub(/.*#(.*)/,'\1')"
    
  • awk

        $ awk -F"#" '{{for (i=1; i<NF-1; i++) printf $i "#"} print $(NF-1)}'
        $ awk -F"#" '{print $1}'
        $ awk -F"#" '{print $NF}'
    
  • bash

        $ ???
        $ ???
        $  while IFS="#" read -r -a line; do
            nb=${#line[@]}
            echo ${line[$((nb - 1))]}
           done
    
  • other tools

        $ cut -F# -f1
        $ ???
        $ rev | cut -F# -f1 | rev
    
mysql

Show Grants:

mysql --skip-column-names -e "select distinct concat('show grants for''',user,'''@''',host,''';') as query from mysql.user" | \
mysql --skip-column-names | \
perl -ne 'next if m/(?:monit|replica|root|ronie)/; s/$/;/; print; END {print "flush privileges;\n" }'}}

Show Users:

select user,host from mysql.user;

all pages tagged perl

mysql
Posted
perl
Posted
string manipulation
Posted
mysql
Posted
Comments on this page are closed.