Monday, October 8, 2012

Reset MySQL root Password

Hello,

Many times it happens that we do forget the root password for our mysql instance(whether local or on server if you have rights). It also happens, if we start using a system in which mysql was already there and we don't know whats the root login.

Following steps can help in resetting the root password
Note: You must have root privileges or sudo access to execute the commands :)

1) Stop the mysql daemon:
             like: /etc/init.d/mysql stop
2) Start to MySQL server w/o password:
             use skip-grant-tables option while restarting.
3) Connect to mysql server as the root user:
             mysql -u root
4) Setup new mysql root account password i.e. reset mysql password:
             update user set password=PASSWORD("new password") where User='root';
             (we need to enter password in encrypted form, so using password())
5) Exit and restart the MySQL server:
               like: /etc/init.d/mysql restart





Hope this is useful.

Tuesday, September 25, 2012

Perl smart match operator

Many times, it is very handy to use this operator for comparing arrays, hashes:
use 5.010;

my(@arr_a)=qw (123 abc def ghi);
my(@arr_b)=qw (123 abc def ghi);

print "same2same\n" if (@arr_a ~~ @arr_b);

Tuesday, September 18, 2012

How to setup yum in RHEL 6.0

[root@localhost ~]# cat /etc/yum.repos.d/iso1.repo <-- this name can be anything but in the format *.repo
[iso1.repo]
name=RHEL6
baseurl=ftp://<servername>/<path where repodata directory is available> < ---- [ it means 'repodata' dir should be available in this path ]
enabled=1
gpgcheck=0





==============================================================
Above procedure should be same for other OS.

Thursday, August 30, 2012

I haven't ever heard about open source Search Engine kinda thingy...... :P

Came around this:
The Apache Lucene project develops open-source search software
Apache Lucene
NOOP operator in Bash:

A standard NOOP Operator in bash is colon ":".

Try out:
: echo test or anything :)
[m@root]$ a=1
[m@root]$ b=2
[m@root]$ c=3
[m@root]$ echo $a; : echo $b ; echo $c
1
3


Thanks,
Kailash Chandak

Wednesday, August 29, 2012

Reference Counting Garbage Collection and Circular Reference in PERL

Found very good link about Memory Management in PERL:

http://www.perl.com/pub/2002/08/07/proxyobject.html

Tuesday, August 28, 2012

Wednesday, August 22, 2012

How to identify driver for a give network interface card.


$/sbin/ethtool -i eth0
 
where,
eth0 : Name of Network interface card. 

Tuesday, July 24, 2012

Remove duplicate entries in a perl scalar array

How to remove duplicate entries from perl scalar array.

Ans ==>
my @duplicate_entries = (1,2,3,4,3,22,45,1,22,76,456,12,45,22,876,456,847,14,6,365,7,4,33,5);
my (%hash,@result);
foreach my $x(@duplicate_entries){
    unless($hash{$x}){
        push(@result,$x);
        $hash{$x} = 1;
    }
}

>> @result will be an array of unique elements.

Write a program which will identify public IP address of the current host.

sub get_tm_ip {
    my($host_to_contact) = shift; < ---- it can be any 
                                      pingable hostname
                                      (e.g.  google.com )
    my($port) = 22;
    my $sock = IO::Socket::INET->new(
            PeerAddr=> $host_to_contact,
            PeerPort=> $port,
            Proto   => "tcp");
    my $localip = $sock->sockhost;
    return($localip);
}



Get unique id for a Linux host.

Sometimes we found hostid for two hosts are same. In this case, following command should help us to get unique id for a linux host.

[root@host ~]dmidecode|grep UUID|cut -d: -f2|tr -d ' '
420DE5AC-31FE-5A1A-DDA3-C971902A228D

Inserting column [with value] at a given position in a file using AWK [1 liner]

very useful:
awk -v FS='|' -v OFS='|' '{$3=$3"|"4} 1' 1.txt 

Input:
1|2|3|5 
1|2|3|5 
1|2|3|5 
1|2|3|5 

Output:
1|2|3|4|5 
1|2|3|4|5 
1|2|3|4|5 
1|2|3|4|5 

Wednesday, July 18, 2012

variables inside awk print and sed

Simple & useful: [Many times i forfot this trick]


[mandy ~]$ echo $v1
75

[mandy ~]$ awk -F "|" ' { print $'"$v1"' } ' file_name
mandar
mpande
mp

[mandy ~]$ sed 's/'"$old_val"'/'"$new_val"'/g' file_name

Monday, July 9, 2012

XML Pull Parser

Found a very good article/link in XML Parsing:

Need to check this PullXML Parser thing is available with Perl/Python ? 
This kind of parsing seems to be really faster, efficient than SAX [Off course faster/better than DOM :)].

 XML Pull Parser .
http://www.bearcave.com/software/java/xml/xmlpull.html

Tuesday, May 22, 2012

How to assign a file handle to a subroutine.
==============================

my $FH;
open($FH,"< /tmp/text");
my_print(\*$FH);
exit(0);
sub my_print {
    my $FH = shift;
    my @arr = <$FH>;
    print @arr;
}

Monday, May 21, 2012

More details on git and subversion integration :
http://metypefunny.blogspot.com/2009/01/git-it-together-with-subversion.html




Steps to create git repository on RHEL 5.x system :
 rpm -Uvh http://repo.webtatic.com/yum/centos/5/latest.rpm
 yum install --enablerepo=webtatic git-all
 git
 mkdir src
 cd src/
 git init
 cp ../savecmdlog.pl.bak savecmdlog.pl
 git
 git status
 git add savecmdlog.pl
 git commit
 git config --global user.name "Manas"
 git config --global user.email manas_khandeshe@symantec.com
 git commit --amend --reset-author
 git log
 git diff
 git commit -a -m 'hard coding of sql statements'

Tuesday, May 8, 2012

How to recover from GRUB not Found error :
http://searchenterpriselinux.techtarget.com/tip/Its-an-easy-fix-to-clean-up-a-GRUB-error-on-your-Linux-server?asrc=EM_NLN_17277113&track=NL-795&ad=870966&


Monday, May 7, 2012

validation for 5GB free space in shell for all platforms

Simple but very useful:

#-------------------------------
# Validation for 5GB free space.
#-------------------------------
#AIX OS
if [ `uname` = "AIX" ]
then
    if [ `df -g $op_path | awk ' { print $2 } ' | tail -1` -lt 5 ]
    then
        echo "Minimum of 5GB of free space should be presnt at $op_path to run the script"
        exit
    fi
fi
#HP-UX
if [ `uname` = "HP-UX" ]
then
    val=`bdf $op_path | awk ' { print $4 } ' | tail -1`
    val_gb1=`echo "scale=2; $val/1024" | bc`
    val_gb=`echo "scale=2; $val_gb1/1024" | bc`
    #if [ $val_gb \< 5 ]
    if [ $val_gb -lt 5 ]
    then
        echo "Minimum of 5GB of free space should be presnt at $op_path to run the script"
        exit
    fi
fi
#SunOS
if [ `uname` = "SunOS" ]
then
    val=`df -k $op_path | awk ' { print $4 } ' | tail -1`
    val_gb1=`echo "scale=2; $val/1024" | bc`
    val_gb=`echo "scale=2; $val_gb1/1024" | bc`
    #if [ $val_gb \< 5 ]
    if [ $val_gb -lt 5 ]
    then
        echo "Minimum of 5GB of free space should be presnt at $op_path to run the script"
        exit
    fi
fi
#Linux
if [ `uname` = "Linux" ]
then
    val=`df -k $op_path | awk ' { print $4 } ' | tail -1`
    val_gb1=`echo "scale=2; $val/1024" | bc`
    val_gb=`echo "scale=2; $val_gb1/1024" | bc`
    if [ $val_gb \< 5 ]
    then
        echo "Minimum of 5GB of free space should be presnt at $op_path to run the script"
        exit
    fi
fi