一步步教你配置MySQL远程访问

前言

在使用MySQL数据库的时候,有时候需要客户机直接远程登陆服务器的数据库 ,而不是将请求发给数据库服务器。这时候就需要配置下MySQL的远程访问权限了。具体的配置方法也很简单,随便找个搜索引擎基本都能找到搜索到一堆配置MySQL数据库远程登陆的教程了。

步骤

网上介绍的步骤基本分为两步:

修改my.cnf配置文件

mysql的配置文件一般在/etc/mysql/my.cnf 里,打开查看其配置,其中有这么一段:

# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
bind-address = 127.0.0.1

这个bind-address就是绑定IP,也就是默认只允许本机登陆。为了能够实现远程登陆,显然需要把这句话注释掉。修改完重启mysql服务。

添加用户权限

按照需要,为指定用户、IP设置对应的权限即可

mysql>GRANT ALL PRIVILEGES ON A.B TO 'user'@'%'IDENTIFIED BY ‘password' WITH GRANT OPTION;
mysql>FLUSH PRIVILEGES

这里把数据库A的B表的所有权限都授予来自任意主机(‘%')的user以密码'password'登陆。

或者直接修改mysql数据库中的user表使其满足要求。

上面就是理论上需要做的了,然而我照着这个弄完了发现还是连接不上。折腾了半天,终于发现原来服务器的提供商为了保证服务器的安全性,还额外对端口的开放进行了限制。比如腾讯服务器就设置了一个安全组,额外限制了开放的端口,默认是禁止开放mysql的3306端口的,因此要打开控制台,配置好权限:

其他都是默认的,只要额外添加倒数第二行的就行了。。。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对我们的支持。

(0)

相关推荐

  • 禁止mysql做域名解析(解决远程访问mysql时很慢)

    当远程访问mysql时,mysql会解析域名,会导致访问速度很慢,加上下面这个配置可解决此问题 禁止mysql做域名解析 [mysqld] skip-name-resolve PHP远程连接MYSQL速度慢,有时远程连接到MYSQL用时4-20秒不等,本地连接MYSQL正常,出现这种问题的主要原因是,默认安装的MYSQL开启了DNS的反向解析,在MY.INI(WINDOWS系统下)或MY.CNF(UNIX或LINUX系统下)文件的[mysqld]下加入skip-name-resolve这一句.

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

    本文实例讲述了mysql设置指定ip远程访问连接的方法,分享给大家供大家参考.具体实现方法如下: 1. 授权用户root使用密码jb51从任意主机连接到mysql服务器: 复制代码 代码如下: GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'jb51' WITH GRANT OPTION; flush privileges; 2.授权用户root使用密码jb51从指定ip为218.12.50.60的主机连接到mysql服务器: 复

  • MySQL数据库远程访问权限如何打开(两种方法)

    下载GPL版本安装 MySQL Community Edition(GPL) Community (GPL) Downloads » 在我们使用mysql数据库时,有时我们的程序与数据库不在同一机器上,这时我们需要远程访问数据库.缺省状态下,mysql的用户没有远程访问的权限. 下面介绍两种方法,解决这一问题. 1.改表法 可能是你的帐号不允许从远程登陆,只能在localhost.这个时候只要在localhost的那台电脑,登入mysql后,更改 "mysql" 数据库里的 "

  • MySQL远程访问设置终极方法

    数据库对于服务端开发人员来说,几乎就是左膀右臂.几乎每一个服务端开发人员都要和数据库打交道.而MySQL又以其开源免费,小巧玲珑,简单易用,功能强大占据中国数据库使用份额的半壁江山.从去年接触到Vagrant以来,Vagrant以其方便易用深深吸引了D瓜哥.为了尽可能地和生产环境保持尽可能的一致性,减少不必要的问题的发生,Vagrant+Ubuntu+MySQL几乎是绝配. MySQL允许远程访问的设置 1.注释bind-address = 127.0.0.1. 复制代码 代码如下: >cd /

  • MySQL数据库设置远程访问权限方法小结

    MySQL基础知识第一期,如何远程访问MySQL数据库设置权限方法总结,讨论访问单个数据库,全部数据库,指定用户访问,设置访问密码,指定访问主机. 1,设置访问单个数据库权限 复制代码 代码如下: mysql>grant all privileges on test.* to 'root'@'%'; 说明:设置用户名为root,密码为空,可访问数据库test 2,设置访问全部数据库权限 复制代码 代码如下: mysql>grant all privileges on *.* to 'root'

  • MySQL 不允许从远程访问的解决方法

    解决方法: 1. 改表法. 可能是你的帐号不允许从远程登陆,只能在localhost.这个时候只要在localhost的那台电脑,登入mysql后,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改称"%" 复制代码 代码如下: mysql -u root -pvmwaremysql>use mysql; mysql>update user se

  • 远程访问MySQL数据库的方法小结

    三种解决方法: 1.改表法.可能是你的帐号不允许从远程登陆,只能在localhost.这个时候只要在localhost的那台电脑,登入mysql后,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改称"%" mysql -u root -pvmware mysql>use mysql; mysql>update user set host = '

  • mysql解决远程不能访问的二种方法

    1.在/etc/mysql/my.cnf中的[mysqld]段注释掉bind-address = 127.0.0.1 2.用mysql -uroot -p 登陆mysql,然后采用以下方法开启远程访问权限: 方法1:mysql>use mysql;     mysql>update user set host = '%' where user = 'root'; mysql>FLUSH RIVILEGES: 方法2:mysql>GRANT ALL PRIVILEGES ON *.*

  • mysql设置远程访问数据库的多种方法

    可能是IP没设置好 问题:MySQL权限设置正确,但仍无法远程访问.通过telnet发现3306端口未打开. 分析:MySQL默认只绑定127.0.0.1,即:只有在本机才能访问3306端口. 解决:找到MySQL配置文件,搜索"bind-address",找到这一行: bind-address          = 127.0.0.1 在前面加一个#,注释掉这一行,保存,重启MySQL.再通过远程访问就可以了,telnet可以发现端口也打开了. 例我们配置 1. 确保skip-net

  • mysql数据库远程访问设置方法

    1.改表法. 可能是你的帐号不允许从远程登陆,只能在localhost.这个时候只要在localhost的那台电脑,登入mysql后,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改称"%" mysql -u root -pvmwaremysql>use mysql; mysql>update user set host = '%' where

随机推荐