`
eimhee
  • 浏览: 2150653 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

mysql远程连接设置mysql远程连接设置

    博客分类:
  • JAVA
阅读更多
y default remote access to MySQL database server is disabled for security reasons. However, some time you need to provide remote access to database server from home or a web server.
MySQL Remote Access

You need type the following commands which will allow remote connections.
Step # 1: Login Using SSH (if server is outside your data center)

First, login over ssh to remote MySQL database server:

ssh user@mysql.nixcraft.i

Step # 2: Edit my.cnf File

Once connected you need to edit the MySQL server configuration file my.cnf using a 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

Edit /etc/my.cnf, run:
# 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 be removed from my.cnf or put it in comment state.

Step# 4 Save and Close the file

Restart the mysql server, enter:
# /etc/init.d/mysql restart
Step # 5 Grant access to remote IP address

Connect to mysql server:
$ mysql -u root -p mysql
Grant access to a new database

If you want to add a new database called foo for user bar and remote IP 202.54.10.20 then you need to type the 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 An 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, enter:
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 TCP 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

Finally save all rules:
# service iptables save
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 your remote system or your desktop type the following 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
2
3
分享到:
评论

相关推荐

    设置mysql远程连接

    ### 设置MySQL远程连接知识点详解 #### 一、背景与需求 在进行数据库管理与应用开发的过程中,有时我们需要从远程服务器访问MySQL数据库。这通常适用于分布式系统或需要进行远程调试及维护的情况。为了实现这一...

    MYSQL无法远程连接

    ### MySQL无法远程连接问题解析与解决方案 #### 一、问题背景 MySQL是一种广泛使用的开源关系型数据库管理系统,因其高效稳定而被众多企业和开发者所青睐。然而,在实际部署和使用过程中,有时会遇到无法进行远程...

    牛族MYSQL 远程连接器1.8

    【牛族MYSQL远程连接器1.8】是一款专为MySQL数据库设计的图形化远程连接工具,它使得用户可以通过直观的用户界面与远端MySQL服务器进行交互。这款软件简化了数据库管理,尤其是对于需要频繁跨网络操作数据库的专业...

    MYSQL数据库远程连接

    MYSQL数据库远程连接,例程,需要有亦众的支持库才能编译。

    XAMPP 设置远程连接MYSQL

    设置文件 开通防火墙端口 设置权限 让XAMPP远程连接MYSQL

    window2003 mysql 远程连接设置

    本文档为本人总结window2003服务器mysql远程访问需要的一些设置,文档内有详细设置过程以及sql语句,文档内容经过本人多次测试均已成功,希望对大家有帮助。

    远程用户连接mysql授权

    ### 远程用户连接MySQL授权详解 #### 一、引言 随着互联网技术的发展与企业规模的扩大,数据库系统的远程访问需求日益增加。对于MySQL这样的关系型数据库管理系统而言,实现远程用户连接授权变得尤为重要。本文将...

    CentOS 8 安装 MySql并设置允许远程连接的方法

    现在,你可以在其他设备上使用数据库客户端工具,如MySQL Workbench或Navicat,尝试连接到这个远程MySQL服务器。记得使用正确的主机名、用户名、密码和端口号。 总之,这个教程详细介绍了在CentOS 8系统上安装MySQL...

    mysql允许远程连接

    MySQL 远程连接设置 MySQL 是一个广泛使用的关系数据库管理系统,它提供了强大的数据存储和管理功能。但是,默认情况下,MySQL 帐号不允许从远程登录,只能在 localhost 登录。然而,在某些情况下,我们需要从远程...

    牛族MYSQL远程连接器1.6

    1 可以无需安装MYSQL数据库,用SuperMysql连接器可以连接远程MYSQL数据库。 2 远程数据库表直接显示在程序的显示框中,无需手工输入指令。 3 程序绑定了三个MYSQL指令。 增加功能: a 远程更改密码时可以自己定义...

    mysql远程连接工具

    真正好用的mysql连接工具,内附破解码,真正好用。。

    mysql开启远程连接权限

    ### MySQL开启远程连接权限 在本篇文章中,我们将详细介绍如何通过命令行的方式,在Windows系统上为MySQL数据库开启远程连接权限。对于需要从不同位置管理数据库的用户来说,这是一个非常实用的功能。下面,我们将...

    阿里云服务器mysql远程连接设置.zip

    以上就是关于阿里云服务器上MySQL数据库远程连接设置的详细步骤。通过遵循这些步骤,你可以轻松地从任何地方访问和管理阿里云上的MySQL数据库。同时,一定要注意网络安全,确保数据和系统的安全运行。

    linux 安装mysql编码处理 远程连接

    linux下安装mysql,utf-8编码处理,以及远程连接

    mysql远程连接不了

    mysql远程连接不了

    MySql实现远程连接.txt

    #### 一、MySQL远程连接概述 MySQL 是一款非常流行的开源关系型数据库管理系统,广泛应用于各类网站及软件系统中。为了满足不同场景下的需求,MySQL 支持本地连接和远程连接。其中,远程连接允许用户从其他主机访问...

    Linux开启mysql远程连接

    ### Linux开启MySQL远程连接详解 #### 一、背景介绍 随着云计算和大数据技术的发展,Linux作为服务器操作系统的优势日益凸显,而MySQL作为一款广泛使用的开源关系型数据库管理系统,在Linux环境下更是得到了广泛...

    Linux中设置mysql的远程连接

    Linux中设置mysql的远程连接,mysql安装完后需要设置远程连接,才能正常通过网络进行访问数据库

    delphi远程连接MySQL(完美版)

    本教程将详细讲解如何使用Delphi通过SQLConnection控件实现对远程MySQL数据库的完美连接。 首先,我们需要了解SQLConnection控件。这是Delphi集成开发环境中(IDE)提供的一个标准组件,它允许开发者与各种数据库...

Global site tag (gtag.js) - Google Analytics