Thursday, August 12, 2010

Thursday, June 24, 2010

How to install MySQL On Ubuntu with query browser

Follow the instructions in this article to help you install MySQL and MySQL Query Browser on Ubuntu.

Installing MySQL on Ubuntu:

To open the Terminal, go to Application > Accessories > Terminal



Type the following command at terminal.

*

$sudo apt-get install mysql-server

To be able to connect to mysql from internet, remove the restriction on the below file.

*

Open the file by typing the following command at terminal prompt.

$gksudo gedit /etc/mysql/my.cnf

*

Find the line bind-address = 127.0.0.1 and comment it out as shown below.



#bind-address = 127.0.0.1

*

mysql comes with no root password. To set the root password, type:

$mysqladmin -u root password your-new-password

$sudo /etc/init.d/mysql restart

*

Install mysql query browser

$sudo apt-get install mysql-query-browser

*

After installing, go to Applications > Programming > MySQL Query Browser to connect to mysql as shown below.




Enter Server Hostname, Username and Password. Click on Connect and MySQL is now installed on Ubuntu.

Install MySQL Server 5 on Ubuntu

Installing MySQL 5 Server on Ubuntu is a quick and easy process. It almost feels like it should be more difficult.

Open a terminal window, and use the following command:

sudo apt-get install mysql-server

If you are running PHP you will also need to install the php module for mysql 5:

sudo apt-get install php5-mysql

To create a new database, use the mysqladmin command:

mysqladmin create

Requires installation of untrusted packages "The action would require the installation of packages from not authenticated sources

Try this series of commands.......
Code:
sudo apt-get clean
Code:
cd /var/lib/apt
Code:
sudo mv lists lists.old
Code:
sudo mkdir -p lists/partial
Code:
sudo apt-get clean
Code:
sudo apt-get update
OR........... It may be worth removing/purging the faulty packages in terminal with:
Code:
sudo apt-get remove --purge packagename

Friday, June 18, 2010

How Do I Enable Remote Access To MySQL Database Server?

By default, MySQL database server remote access disabled for security reasons. However, some time you need to provide the remote access to database server from home or from web server.
MySQL Remote Access

You need type the following commands which will allow remote connections:
Step # 1: Login over ssh if server is outside your IDC

First, login over ssh to remote MySQL database server
Step # 2: Enable networking

Once connected you need edit the mysql configuration file my.cfg using text editor such as vi.

* If you are using Debian Linux file is located at /etc/mysql/my.cnf location
* If you are using Red Hat Linux/Fedora/Centos Linux file is located at /etc/my.cnf location
* If you are using FreeBSD you need to create a file /var/db/mysql/my.cnf

# vi /etc/my.cnf
Step # 3: Once file opened, locate line that read as follows

[mysqld]

Make sure line skip-networking is commented (or remove line) and add following line

bind-address=YOUR-SERVER-IP

For example, if your MySQL server IP is 65.55.55.2 then entire block should be look like as follows:
[mysqld]
user = mysql
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
port = 3306
basedir = /usr
datadir = /var/lib/mysql
tmpdir = /tmp
language = /usr/share/mysql/English
bind-address = 65.55.55.2
# skip-networking
....
..
....Where,

* bind-address : IP address to bind to.
* skip-networking : Don’t listen for TCP/IP connections at all. All interaction with mysqld must be made via Unix sockets. This option is highly recommended for systems where only local requests are allowed. Since you need to allow remote connection this line should removed from file or put it in comment state.

Step# 4 Save and Close the file

Restart your mysql service to take change in effect:# /etc/init.d/mysql restart
Step # 5 Grant access to remote IP address

# mysql -u root -p mysqlGrant access to new database
If you want to add new database called foo for user bar and remote IP 202.54.10.20 then you need to type following commands at mysql> prompt:mysql> CREATE DATABASE foo;
mysql> GRANT ALL ON foo.* TO bar@'202.54.10.20' IDENTIFIED BY 'PASSWORD';
How Do I Grant access to existing database?

Let us assume that you are always making connection from remote IP called 202.54.10.20 for database called webdb for user webadmin, To grant access to this IP address type the following command At mysql> prompt for existing database:mysql> update db set Host='202.54.10.20' where Db='webdb';
mysql> update user set Host='202.54.10.20' where user='webadmin';
Step # 5: Logout of MySQL

Type exit command to logout mysql:mysql> exit
Step # 6: Open port 3306

You need to open port 3306 using iptables or BSD pf firewall.
A sample iptables rule to open Linux iptables firewall

/sbin/iptables -A INPUT -i eth0 -p tcp --destination-port 3306 -j ACCEPT

OR only allow remote connection from your web server located at 10.5.1.3:

/sbin/iptables -A INPUT -i eth0 -s 10.5.1.3 -p tcp --destination-port 3306 -j ACCEPT

OR only allow remote connection from your lan subnet 192.168.1.0/24:

/sbin/iptables -A INPUT -i eth0 -s 192.168.1.0/24 -p tcp --destination-port 3306 -j ACCEPT

A sample FreeBSD / OpenBSD pf rule ( /etc/pf.conf)

pass in on $ext_if proto tcp from any to any port 3306

OR allow only access from your web server located at 10.5.1.3:

pass in on $ext_if proto tcp from 10.5.1.3 to any port 3306 flags S/SA synproxy state

Step # 7: Test it

From remote system or your desktop type the command:
$ mysql -u webadmin –h 65.55.55.2 –p
Where,

* -u webadmin: webadmin is MySQL username
* -h IP or hostname: 65.55.55.2 is MySQL server IP address or hostname (FQDN)
* -p : Prompt for password

You can also use telnet to connect to port 3306 for testing purpose:$ telnet 65.55.55.2 3306

Friday, June 11, 2010

Getting Global IP Address

System.out.println("The remote ip is : "+ request.getRemoteAddr());

Getting Local IP Address in Java

An IP (Internet Protocol) address is a numerical unique identification number which is assigned to the devices participating in the network for communication. To get IP address of our own

In our following example program we are getting system's IP by getting the Host address of the local host.

InetAddress ownIP=InetAddress.getLocalHost(); gets the

local host with IP address. Now we can get the IP address with this object by calling method getHostAddress() on the InetAddress object.

Here is the full example code of GetOwnIP.java as follows:




import
java.util.*;
import java.lang.*;
import java.net.*;

public class GetOwnIP
{
public static void main(String args[]) {
try{
InetAddress ownIP=InetAddress.getLocalHost();
System.out.println("IP of my system is : "+ownIP.getHostAddress());
}catch (Exception e){
System.out.println("Exception caught ="+e.getMessage());
}
}
}