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

mysql远程访问的设置

阅读更多

第一步: 激活网络设置
你需要编辑mysql配置文件my.cnf.
通常状况,my.cnf放置于在以下目录:
/etc/mysql/my.cnf (Debian linux)
/etc/my.cnf (Red Hat Linux/Fedora Linux)
/var/db/mysql/my.cnf (FreeBSD)
然后用vi编辑my.cnf,修改内容从以下行:
[mysqld]
你所需要:
1. 确保skip-networking被删除或者屏蔽,否则不支持TCP/IP 访问
2. 增加行bind-address = 65.55.55.2,替代65.55.55.2 为你的服务器地址
修改后,配置为:
[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
....
..
保存并关闭配置文件
重启mysql服务器:# /etc/init.d/mysql restart

第二步: 授权
方法一:
例如,你想myuser使用mypassword从任何主机连接到mysql服务器的话。
GRANT ALL PRIVILEGES ON *.* TO myuser@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
FLUSH PRIVILEGES;
如果你想允许用户myuser从ip为192.168.1.6的主机连接到mysql服务器,并使用mypassword作为密码
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.3' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
FLUSH PRIVILEGES;
#################################
开启Mysql数据库的远程连接权限:
grant all privileges on *.* to 'root' @'%' identified by 'wrx123';
flush privileges;

方法二:

use mysql;

update user set host = '%' where user = '用户名'; (如果写成 host=localhost 那此用户就不具有远程访问权限)

FLUSH PRIVILEGES;



第三步: 配置防火墙

如果系统装有防火墙iptables,得设置下

修改防火墙配置文件:
vi /etc/sysconfig/iptables
增加下面一行:
-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 3306 -j ACCEPT
如果想开通21等端口,只需要将3306换成21等要开放的端口就可以了。
附:iptables
==============================================
# Firewall configuration written by system-config-securitylevel
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:RH-Firewall-1-INPUT - [0:0]
-A INPUT -j RH-Firewall-1-INPUT
-A FORWARD -j RH-Firewall-1-INPUT
-A RH-Firewall-1-INPUT -i lo -j ACCEPT
-A RH-Firewall-1-INPUT -p icmp –icmp-type any -j ACCEPT
-A RH-Firewall-1-INPUT -p 50 -j ACCEPT
-A RH-Firewall-1-INPUT -p 51 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp –dport 5353 -d 224.0.0.251 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp -m udp –dport 631 -j ACCEPT
-A RH-Firewall-1-INPUT -m state –state ESTABLISHED,RELATED -j ACCEPT
-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 22 -j ACCEPT
-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 80 -j ACCEPT
-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 21 -j ACCEPT
-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 3306 -j ACCEPT
-A RH-Firewall-1-INPUT -j REJECT –reject-with icmp-host-prohibited
COMMIT

================================================
配置后,重新启动 iptable

service iptables restart

这时就可以从外网访问Mysql了。

第四步 测试
From remote system type command:
$ mysql -u webadmin –h 65.55.55.2 –p

 

 

 

 

对于授权的一些方法:

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////

mysql默认root用户没有密码,输入mysql –u root 进入mysql

1、初始化root密码

进入mysql数据库
?1 mysql>update user set password=PASSWORD(‘123456’) where User='root';


2、允许mysql远程访问,可以使用以下三种方式:

a、改表。
?1
2
3
4 mysql -u root –p
mysql>use mysql;
mysql>update user set host = '%' where user = 'root';
mysql>select host, user from user;


b、授权。

例如,你想root使用123456从任何主机连接到mysql服务器。
?1 mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;


如果你想允许用户jack从ip为10.10.50.127的主机连接到mysql服务器,并使用654321作为密码
?1
2 mysql>GRANT ALL PRIVILEGES ON *.* TO 'jack'@’10.10.50.127’ IDENTIFIED BY '654321' WITH GRANT OPTION;
mysql>FLUSH RIVILEGES


c:在安装mysql的机器上运行:
?1
2
3
4
5
6
7
8 //进入MySQL服务器
d:\mysql\bin\>mysql -h localhost -u root
//赋予任何主机访问数据的权限
mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION
//使修改生效
mysql>FLUSH PRIVILEGES
//退出MySQL服务器
mysql>EXIT

分享到:
评论

相关推荐

    MySQL 设置远程访问

    设置MySQL远程访问是一项重要的任务,特别是对于需要从不同网络位置或服务器上连接到数据库的应用程序。以下将详细介绍如何允许MySQL数据库接受远程连接。 首先,理解MySQL远程访问的基础知识。默认情况下,MySQL仅...

    MySQL远程访问设置终极方法

    MySQL远程访问设置是确保开发和运维人员能够从任何地方安全地连接到数据库的关键步骤。本文主要探讨了在MySQL中设置远程访问的终极方法,适用于多种情况,为了解决这一问题提供了全面的解决方案。 首先,要开启...

    mysql设置指定ip远程访问连接实例

    本教程将详细解释如何设置MySQL以允许指定IP地址的远程访问连接。 首先,我们要理解MySQL的权限系统。在MySQL中,权限是基于用户、主机和数据库的三元组进行分配的。例如,`'user'@'host'`定义了一个特定的用户权限...

    无法远程访问Mysql的解决方案

    无法远程访问Mysql的解决方案 Mysql 是一种关系型数据库管理系统,广泛应用于各种 web 应用程序中。然而,在实际应用中,我们常常会遇到无法远程访问 Mysql 的问题,这是由于 Mysql 的安全机制所致。下面我们将详细...

    mysql远程访问授权

    在探讨“mysql远程访问授权”这一主题时,我们首先需要理解MySQL作为一种广泛使用的开源关系型数据库管理系统,如何通过网络提供服务,以及如何安全地管理远程访问权限。远程访问授权是MySQL服务器安全策略的重要...

    MySQL开启关闭远程访问

    #### 一、MySQL开启远程访问 **1. 登录本地MySQL** 首先确保你已经安装并启动了MySQL服务。打开命令行工具(如Windows的CMD或Linux的Terminal),输入以下命令登录MySQL: ```sql mysql -u root -p ``` ...

    MySQL远程访问权限,允许远程连接的开启和关闭

    开启和关闭MSsql数据库的远程访问,默认mssql是关闭远程访问的。

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

    本教程将详细讲解如何在CentOS 8上安装MySQL并配置允许远程访问。 首先,安装MySQL前需要确保系统中没有已存在的MySQL或MariaDB实例。你可以通过以下命令检查: ```bash rpm -qa | grep mysql rpm -qa | grep ...

    Mysql远程访问的方法

    ### MySQL远程访问方法及常用知识点 #### 一、配置MySQL以支持远程访问 在实际应用场景中,我们常常需要从远程位置连接到MySQL数据库服务器。为了实现这一目标,我们需要对MySQL进行一系列配置,确保其能够接收...

    开启Mysql远程访问(关闭防火墙).txt

    ### 开启MySQL远程访问(关闭防火墙) #### 知识点概述 本文档主要介绍了如何在Linux环境下通过关闭防火墙来实现MySQL的远程访问。在实际应用中,MySQL默认只允许本地连接,若想实现远程访问,则需要进行一系列...

    mysql开启远程访问权限和被远程访问的方法.docx

    MySQL远程访问权限和被远程访问的方法 在 MySQL 中,开启远程访问权限和被远程访问是非常重要的步骤。本文将详细介绍如何在 MySQL 中开启远程访问权限和被远程访问的方法。 一、使用root账户登录MySQL 首先,我们...

    远程用户连接mysql授权

    因此,在设置远程访问权限时,必须明确指定用户可以从哪些主机连接到数据库服务器。 #### 三、授权步骤详解 1. **登录MySQL服务器** 首先,需要通过命令行或图形界面客户端登录到MySQL服务器。例如,在安装MySQL...

    MYSQL设置远程访问

    ### 在Linux和cPanel中设置MySQL的远程访问 在**Linux**环境中,你可以通过MySQL命令行工具进行权限设置。以用户`hellokeykey`为例,可以运行以下命令: ```sql GRANT ALL PRIVILEGES ON *.* TO 'hellokeykey'@'%'...

    Mysql初始化root密码和允许远程访问

    在安装MySQL后,进行初始设置至关重要,尤其是为root用户设置安全密码和允许远程访问,以便于管理和维护数据库。以下将详细介绍这两个关键步骤。 首先,让我们讨论如何初始化MySQL的root密码。在MySQL安装后,默认...

    XAMPP 设置远程连接MYSQL

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

    window2003 mysql 远程连接设置

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

    MYSQL数据库远程连接

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

    MySQL 远程访问及中文乱码问题

    【MySQL 远程访问及中文乱码问题】 MySQL 是一款广泛应用的关系型数据库管理系统,它在数据存储、管理和处理方面有着出色的表现。然而,在实际使用过程中,我们可能会遇到两个常见的问题:远程访问限制和中文乱码...

Global site tag (gtag.js) - Google Analytics