Friday, December 21, 2012

Linux Commands Help: grep

Find text in a file:

 For example to find out "404" requests( page not found ) in apache log file:

grep "404" /var/log/apache2/access.log
 The above command displays all the entries contains the word "404".
   

grep -n "404" /var/log/apache2/access.log
The above command displays all the entries contains the word "404" with line numbers.
   

grep -c "404" /var/log/apache2/access.log
The above command displays the no. of entries contains the word "404"

grep -c "404\|192.168.20.32" /var/log/apache2/access.log
The above command displays the no. of entries contains both the words "404" and "192.168.20.32"


Change Time Zone in MySQL

By default, MySQL uses timestamp of server.  

To check this, run 
SELECT @@global.time_zone, @@session.time_zone;

which returns "system";
  • Run the following command in terminal to change server timezone:
       sudo dpkg-reconfigure tzdata

         which prompts a dialog to change time zone:


  • Now restart mysql server: /etc/init.d/mysql restart
        Run "SELECT NOW();" query in MySQL editor, which should return the   time of modified time zone .

Thursday, August 25, 2011

Mysql command line commands - Linux


To login from linux command prompt


#mysql -h hostname -u root -p

Create a database on the sql server


mysql> create database [databasename];


List all databases on the sql server


mysql> show databases;


Switch to a database


mysql> use [db name];


To see all the tables in the db.

mysql> show tables;


To see database's field formats


mysql> describe [table name];


To delete a db


mysql> drop database [database name];


To delete a table


mysql> drop table [table name];

Show all data in a table


mysql> SELECT * FROM [table name];


Returns the columns and column information pertaining to the designated table


mysql> show columns from [table name];


Show certain selected rows with the value "rao"


mysql> SELECT * FROM [table name] WHERE [field name] = "rao";


Show all records containing the name "rao" AND the phone number '98467258'.


mysql> SELECT * FROM [table name] WHERE name = "rao" AND phone_number = '98467258';


Show all records not containing the name "rao" AND the phone number '98467258' order by the phone_number field.


mysql> SELECT * FROM [table name] WHERE name != "rao" AND phone_number = '98467258' order by phone_number;


Show all records starting with the letters 'bob' AND the phone number '3444444'.


mysql> SELECT * FROM [table name] WHERE name like "Bob%" AND phone_number = '3444444';


Show all records starting with the letters 'bob' AND the phone number '3444444' limit to records 1 through 5.


mysql> SELECT * FROM [table name] WHERE name like "Bob%" AND phone_number = '3444444' limit 1,5;


Use a regular expression to find records. Use "REGEXP BINARY" to force case-sensitivity. This finds any record beginning with a.


mysql> SELECT * FROM [table name] WHERE rec RLIKE "^a";


Show unique records


mysql> SELECT DISTINCT [column name] FROM [table name];


Show selected records sorted in an ascending (asc) or descending (desc)


mysql> SELECT [col1],[col2] FROM [table name] ORDER BY [col2] DESC;


Return number of rows


mysql> SELECT COUNT(*) FROM [table name];


Sum column


mysql> SELECT SUM(*) FROM [table name];

To update info already in a table


mysql> UPDATE [table name] SET Select_priv = 'Y',Insert_priv = 'Y',Update_priv = 'Y' where [field name] = 'user';


Delete a row(s) from a table


mysql> DELETE from [table name] where [field name] = 'whatever';


Update database permissions/privilages


mysql> flush privileges;


Delete a column


mysql> alter table [table name] drop column [column name];


Add a new column to db


mysql> alter table [table name] add column [new column name] varchar (20);


Change column name


mysql> alter table [table name] change [old column name] [new column name] varchar (50);


Make a unique column so you get no dupes


mysql> alter table [table name] add unique ([column name]);


Make a column bigger


mysql> alter table [table name] modify [column name] VARCHAR(3);


Delete unique from table


mysql> alter table [table name] drop index [colmn name];


Load a CSV file into a table


mysql> LOAD DATA INFILE '/tmp/filename.csv' replace INTO TABLE [table name] FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n' (field1,field2,field3);


Dump all databases for backup. Backup file is sql commands to recreate all db's


# [mysql dir]/bin/mysqldump -u root -ppassword --opt >/tmp/alldatabases.sql


Dump one database for backup


# [mysql dir]/bin/mysqldump -u username -ppassword --databases databasename >/tmp/databasename.sql


Dump a table from a database


# [mysql dir]/bin/mysqldump -c -u username -ppassword databasename tablename > /tmp/databasename.tablename.sql


Restore database (or database table) from backup


# [mysql dir]/bin/mysql -u username -ppassword databasename < /tmp/databasename.sql

Monday, June 13, 2011

Easy way to do w3c standard complex layout in html

To do complex HTML layout from the scratch is pain and need to have expertise in html and css. It will take lot of time make it w3c standard website.

The best way to do is to choose one good css framework and work on top of it.
I personally suggest "blueprint", http://www.blueprintcss.org/

For example, the following creates simple 3-column layout with header and footer.

<div class="container">
   <div class="span-24">
    The header
   </div>
<div class="span-4">
    The first column
   </div>
   <div class="span-16">
    The center column
   </div>
   <div class="span-4 last">
    The last column
   </div>
<div class="span-24">
    The footer
   </div>
  </div>
Here the div.container is the main div element in this framework 
and everything is wrapped in this element.
 
div.span-24 means, 24 columns and each spanning 30px with 10px margin 
between each column and the total width comes to 950px, which is a 
good width for 1078 * 768 resolution.
 
Check the tutorial here: 
https://github.com/joshuaclayton/blueprint-css/wiki/Quick-start-tutorial
 
Check here the sample layout with blueprint framework: 
http://d2o0t5hpnwv4c1.cloudfront.net/158_blueprint/src/index.html

Monday, January 10, 2011

The best way to handle keyup events for text input element

In general we will use "keyup" event in case if we need to display some results upon search keyword entered by the user. Anytime the user types the keyword, the callback function will be called and displays the result. For example: If user wants to search with "REST", the callback function will be called for 4 times, and the search keywords will be "R", "RE", "RES" and "REST" for each time.

This problem will not be solved even if you add some time out function to delay the call back event. If we add time out when calling the function, then callback function will be executed with the keyword "REST" for 4 times.
To solve this problem, there is a plugin called "TypeWatch" in jQuery which allows the user to enter full keyword, then it executes after some time delay:


Here is the function, which takes 5 parameters as the input.
// callback: The function to call
// wait: The number of milliseconds to wait after the the last key press before firing the callback
// highlight: Highlights the element when it receives focus
// captureLength: Minimum # of characters necessary to fire the callback

$("#search_groups").typeWatch( 
 wait : 750,
highlight:true, 
callback:renderSearchResult,
captureEnter : true,
minTextLength : 2
});
See demo here: http://dennydotnet.com/typewatch/index.htm
See the plugin: http://plugins.jquery.com/project/TypeWatch

Wednesday, January 5, 2011

Wednesday, November 24, 2010

popups with window.print on body load event doesn't work in chrome


Issue:

Popus with <body onload="window.print();window.close()"> doesn't work in chrome.

solution:

 Use  "setTimeout('print()', 1);" on load event!!
http://groups.google.com/a/chromium.org/group/chromium-bugs/msg/ff8e015c44d28643