北京时间:
 
 
 首页 
 
 
 
 
 
 
 洛杉矶论坛 
   
洛杉矶华人论坛 |  搜索  |  注册  |  登陆  |  FAQ 
 
 
How Do I Enable remote access to MySQL database server?

 
发表新帖   回复帖子    洛杉矶华人论坛 首页 -> 技术交流
阅读上一个主题 :: 阅读下一个主题  
留言
How Do I Enable remote access to MySQL database server?  引用并回复
 
发布人: Mrs LA   发布于: 2008/05/01, 11:37 pm

By default, MySQL database server remote access disabled forsecurity reasons. However, some time you need to provide the remoteaccess to database server from home or from web server.

Step # 1: Login over ssh if server is outside your IDCFirst, login over ssh to remote MySQL database server

Step # 2: Enable networkingOnce 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 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 open, locate line that read as [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. Allinteraction with mysqld must be made via Unix sockets. This option ishighly recommended for systems where only local requests are allowed.Since you need to allow remote connection this line should removed fromfile or put it in comment state.
Step# 4 Save and Close the fileRestart 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 IP202.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 IPcalled 202.54.10.20 for database called webdb for user webadmin, Togrant 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 MySQLType exit command to logout mysql:mysql> exit

Step # 6: Test it

From remote system type 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

My problem for configuration is:

Adding the bind-address, but forget to uncomment skip-networking

bind-address = 65.55.55.2

# skip-networking




_________________
支持洛杉矶华人,点评洛杉矶华人商家
返回页首
阅览成员资料 (Profile) 发送私人留言 (PM)
从以前的帖子开始显示:   
点评这篇文章
 
1 2 3 4 5
1个人参与评分
发表新帖   回复帖子    洛杉矶华人论坛 首页 -> 技术交流 论坛时间为 PST (美国/加拿大)
1页/共1   
转跳到:  


 
Copyright 2006-2008 www.ChineseInLA.com All rights reserved. Privacy Policy