`
徜徉の小溪
  • 浏览: 448008 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

mysql 允许远程IP访问配置

阅读更多

 

 

MySQL远程访问,也就是通过ip访问MySQL服务,MySQL对于安全的要求是非常严格的,需要授权。 

 

 

grant语法

grant 权限名(所有的权限用all) on 库名(*全部).表名(*全部) to ‘要授权的用户名’@’%’(%表示所有的IP,可以只些一个IP) identified by “密码”;

身份检查使用user表(Host, User和Password)3个范围列执行。服务器只有在user表记录的Host和User列匹配客户端主机名和用户名并且提供了正确的密码时才接受连接。

在user表Host值的指定方法:

* Host值可以是主机名或IP号,或’localhost’指出本地主机。

* 你可以在Host列值使用通配符字符“%”和“_”。

* Host值’%’匹配任何主机名,空Host值等价于’%’。它们的含义与LIKE操作符的模式匹配操作相同。例如,’%’的Host值与所有主机名匹配,而’%.mysql.com’匹配mysql.com域的所有主机。

 

 

1.本地访问 

Sql代码   收藏代码
  1. GRANT ALL PRIVILEGES ON *.* TO admin@localhost IDENTIFIED BY 'admin' WITH GRANT OPTION;   
  2. FLUSH PRIVILEGES;  



上述命令的意思是为admin用户授权,以localhost方式访问数据库,密码为admin,这是我们推荐的访问方式,不直接暴露IP,提高数据库服务器的安全性。 

2.远程访问 
如果数据库服务器与应用服务器物理层面分割,也就是不在同一台服务器的时候,我们需要通过ip方式访问,这个ip就是数据库服务器主机IP。 

Sql代码   收藏代码
  1. GRANT ALL PRIVILEGES ON *.* TO admin@X.Y.Z.W IDENTIFIED BY 'admin' WITH GRANT OPTION;   
  2. FLUSH PRIVILEGES;  



当然,这里授予admin用户WITH GRANT OPTION权限,欠稳妥!如果一个用户从远程登录修改了数据库表结构等等,是非常有风险的! 

通常不建议授予授予其他用户权限权力,即: 

Sql代码   收藏代码
  1. GRANT ALL PRIVILEGES ON *.* TO admin@X.Y.Z.W IDENTIFIED BY 'admin';   
  2. FLUSH PRIVILEGES;  



3.任意访问 
如果不限制ip访问,授权某个用户可以以任意ip访问该服务,可以这样写: 

Sql代码   收藏代码
  1. GRANT ALL PRIVILEGES ON *.* TO admin@'%' IDENTIFIED BY 'admin';   
  2. FLUSH PRIVILEGES;  



注意单引号! 

3.取消授权 
当然,有授权,就一定有取消授权: 

Sql代码   收藏代码
  1. REVOKE ALL ON *.* FROM admin@X.Y.Z.W;   
  2. FLUSH PRIVILEGES;  

 

 




OK,现在我们可以开始部署我们的应用了! 

分享到:
评论

相关推荐

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

    总结,设置MySQL指定IP远程访问连接涉及权限授权、防火墙配置以及安全策略的调整。通过遵循上述步骤并确保安全性,你可以让指定的IP地址访问远程MySQL数据库,从而实现更灵活的数据库管理与协作。

    MySQL 设置远程访问

    为了允许远程访问,我们需要配置MySQL服务器来监听所有网络接口,并为特定用户授予权限。 步骤1:配置MySQL服务器 1. 登录MySQL服务器,通常通过命令行工具如`mysql -u root -p`,输入密码后进入。 2. 检查当前的...

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

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

    让mysql数据库允许被远程连接访问

    MySQL作为一种广泛使用的开源关系型数据库管理系统,其远程访问配置是管理员和开发人员必须掌握的一项基本技能。 #### 标题解读:让MySQL数据库允许被远程连接访问 这一标题直截了当地指出了本文的主题——如何...

    远程用户连接mysql授权

    本文将详细介绍如何为远程用户授权访问MySQL服务器的方法。 #### 二、远程用户连接MySQL授权原理 在MySQL中,每个用户的权限是根据其来源主机地址来确定的。这意味着即使是同一个用户名,从不同的主机登录时所拥有...

    MYSQL无法远程连接

    3. **MySQL配置文件限制**:在MySQL的配置文件(如`my.cnf`或`my.ini`)中,可能设置了不允许远程访问的选项。 4. **网络问题**:有时候网络环境不稳定或存在某些限制也会导致远程连接失败。 #### 三、解决方法 ##...

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

    在 mysql 库中,我们需要查看 user 表的 host 值,以确定 root 账户是否已经被设置为允许远程访问。 mysql> select host from user where user='root'; 三、修改host值 如果 root 账户的 host 值不是%,我们需要...

    配置mysql允许远程连接的方法

    以下是配置MySQL允许远程连接的详细步骤: 首先,你需要登录到MySQL服务器的主机,并以root用户的身份打开MySQL的配置文件。在大多数Linux系统中,这个文件位于`/etc/my.cnf`。你可以使用`vim`或`nano`等文本编辑器...

    服务器mysql远程配置

    首先,我们需要理解为什么MySQL默认不允许远程连接。出于安全考虑,MySQL服务通常只允许本地主机(127.0.0.1或localhost)进行连接。这意味着,如果你尝试从另一台设备通过网络访问MySQL服务器,将会被拒绝,这就是...

    MySQL开启关闭远程访问

    通过以下SQL语句更新用户表中的host字段为“%”,以便允许所有IP地址远程访问: ```sql UPDATE mysql.user SET host = '%' WHERE user = 'root'; ``` 运行后,可能会遇到警告信息“1062 - Duplicate entry '%...

    MYSQL设置远程访问

    MySQL数据库在默认配置下,出于安全考虑,不允许远程主机对数据库进行访问,特别是不允许root用户进行远程登录。要实现远程访问MySQL,有多种方法,主要包括修改用户权限、新增远程访问用户以及使用GRANT语句分配...

    在Ubuntu下解决MySQL不能远程访问的问题.docx

    在Ubuntu系统中,MySQL默认配置仅允许本地访问,这一安全设置有效地限制了远程机器对数据库的访问权限。然而,在实际应用场景中,我们往往需要让其他机器能够远程访问MySQL数据库,这就要求我们对Ubuntu下的MySQL...

    MySql实现远程连接.txt

    - **SELinux 或其他安全策略**:如果服务器启用了 SELinux 或类似的安全策略,可能需要调整相关策略以允许远程连接。 - **网络问题**:检查客户端与服务器之间的网络连接是否正常。 #### 五、总结 本文详细介绍了...

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

    6. 修改MySQL配置以允许远程访问: MySQL默认情况下可能不允许远程访问。为了允许远程连接,可能需要编辑MySQL服务器的配置文件(如***f或my.ini),找到[mysqld]部分,并确保skip-networking参数被注释掉或者设置为...

    Mysql远程访问的方法

    为了让MySQL接受远程连接,我们需要修改`root`用户的权限设置,将其`Host`属性改为`%`,这意味着允许任何IP地址连接到此服务器: ```sql UPDATE mysql.user SET Host = '%' WHERE User = 'root'; ``` 执行完以上...

    mysql 修改远程登录方法

    #### 三、配置 MySQL 允许远程访问 为了让 MySQL 数据库可以从远程位置访问,我们需要确保以下几个方面被正确配置: 1. **MySQL 服务配置**:确保 MySQL 服务监听所有 IP 地址而不是仅限于本地地址。可以在配置...

    mysql给root开启远程访问权限,修改root密码

    需要注意的是,@'192.168.1.100'可以替换为@'%',这样就可以任意IP访问。 三、修改root密码 要想修改root密码,需要按照以下步骤进行: 1. 切换到Mysql数据库mysql> use mysql; 2. 修改root密码mysql> update ...

    mysql远程访问授权

    - **MySQL配置文件**:确认MySQL的配置文件(my.cnf或my.ini)中的bind-address参数允许远程连接。默认情况下,bind-address可能设置为“127.0.0.1”,仅允许本地连接。将其更改为“0.0.0.0”可以接受所有IP地址的...

Global site tag (gtag.js) - Google Analytics