# 如何给远程主机开启mysql远程登录权限

> 在千锋学习PHP的有些学员会在阿里或者腾讯云去购买自己的云服务器。在初级阶段的项目上线时会遇到一个问题,就是无法使用远程连接工具操作自己线上的mysql数据库。需要上传一份phpmyadmin,不太方便。这里为大家提供一种解决办法。

## 问题描述:

当时用远程工具,例如Navicat Premium连接数据库时会产生一下错误。

<img src="http://php.chanpingou.com/wp-content/uploads/2017/04/QQ截图20170405171543-300x93.png" alt="" width="300" height="93" class="alignnone size-medium wp-image-202" />

表示在当前主机是不能够连接上mysql服务器的。

## 解决办法:

### 1. 使用SSH工具连接远程云服务器

我这里使用的是SecureCRT,在下面所示窗口填写服务器ip,用户名,密码信息。

<img src="http://php.chanpingou.com/wp-content/uploads/2017/04/QQ截图20170405172334-300x278.png" alt="" width="300" height="278" class="alignnone size-medium wp-image-204" />

填写号之后点击链接,就快可以与远程服务器建立会话。如下图所示:

<img src="http://php.chanpingou.com/wp-content/uploads/2017/04/QQ截图20170405172606-300x109.png" alt="" width="300" height="109" class="alignnone size-medium wp-image-206" />

### 2. 修改防火墙,开启3306端口.

在命令行输入以下命令可以查看编辑防火墙策略。

```vi /etc/sysconfig/iptables ```

云服务器默认只会开启80与22端口,不会开起3306端口。以下就是默认的防火墙策略。

<img src="http://php.chanpingou.com/wp-content/uploads/2017/04/QQ截图20170405173452-300x108.png" alt="" width="300" height="108" class="alignnone size-medium wp-image-209" />

仿照80端口在下面添加一条开启3306的端口策略。添加完成后如下图所示:

<img src="http://php.chanpingou.com/wp-content/uploads/2017/04/QQ截图20170405173725-300x113.png" alt="" width="300" height="113" class="alignnone size-medium wp-image-210" />

> 注意:增加的开放3306端口的语句一定要在icmp-host-prohibited之前

在命令行执行下面命令重启防火墙

```service iptables restart ```

### 3.命令行登录mysql修改权限表

执行```mysql -uroot -p```登录服务器的mysql数据库,依次执行一下命令:

```use mysql;```

```GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;```

```FLUSH PRIVILEGES;```

修改mysql库的user表,将host项,从localhost改为%。%这里表示的是允许任意host访问,如果只允许某一个ip访问,则可改为相应的ip,比如可以将localhost改为192.168.2.135,这表示只允许局域网的192.168.2.135这个ip远程访问mysql,后边的password则是登录时需要提供的密码。最后刷新mysql权限表即可。

此时就可以使用远程工具操作云服务器的mysql数据库了。

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

互联网+时代,时刻要保持学习,携手千锋PHP,Dream It Possible。

如何给远程主机开启mysql远程登录权限的更多相关文章

  1. 如何开启MYSQL远程连接权限

    开启MYSQL远程连接权限 //建议设置固定IP mysql> GRANT ALL PRIVILEGES ON *.* TO root@"8.8.8.8" IDENTIFIE ...

  2. 开启MYSQL远程连接权限

      开启MYSQL远程连接权限   1 2 3 4 5 //建议设置固定IP mysql> GRANT ALL PRIVILEGES ON *.* TO root@"8.8.8.8&q ...

  3. 开启mysql远程登录

    开发过程中经常遇到远程访问mysql的问题,每次都需要搜索,感觉太麻烦,这里记录下,也方便我以后查阅. 首先访问本机的mysql(用ssh登录终端,输入如下命令): mysql -uroot -p 输 ...

  4. 阿里云 mysql 远程登录权限

    [mysql中配置] 授权法: 1.登录到mysql中,为root进行远程访问的授权,执行下面的命令:  mysql> GRANT ALL PRIVILEGES ON *.* TO root@& ...

  5. MYSQL远程登录权限设置 ,可以让Navicat远程连接服务器的数据库

    Mysql默认关闭远程登录权限,如下操作允许用户在任意地点登录: 1. 进入mysql,GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY ...

  6. [转]MYSQL远程登录权限设置

    Mysql默认关闭远程登录权限,如下操作允许用户在任意地点登录:   1. 进入mysql,GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED B ...

  7. MYSQL远程登录权限设置(转)

    Mysql默认关闭远程登录权限,如下操作允许用户在任意地点登录: 1. 进入mysql,GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY ...

  8. MYSQL远程登录权限设置

    Mysql默认关闭远程登录权限,如下操作允许用户在任意地点登录: 1. 进入mysql,GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY ...

  9. linux开启mysql远程登录

    Mysql默认root用户只能本地访问,不能远程连接管理mysql数据库,Linux如何开启mysql远程连接?设置步骤如下:1.GRANT命令创建远程连接mysql授权用户itloggermysql ...

随机推荐

  1. jenkins gradle 编译遇到tomcat异常

    使用gradle在jenkins 上构建的时候遇到 进行构建的时候报"Could not load Logmanager org.apache.juli.ClassLoaderLogMana ...

  2. netty-all maven中 缺少jzlib

    在一个项目中引用 <dependency>          <groupId>io.netty</groupId>          <artifactId ...

  3. 跨平台的.NET邮件协议MailKit组件解析

    发起的.NET Core开源组织号召,进展的速度是我自己也没有想到的,很多园友都积极参与(虽然有些人诚心砸场子,要是以我以前的宝脾气,这会应该被我打住院了吧,不过幸好是少数,做一件事总有人说好,也有人 ...

  4. 用ListView实现对数据库的内容显示

    用ListView实现对数据库的内容显示 创建一个触发机制 ---------(作用)将数据读入ArrayList集合中 MyBase base = new MyBase(); SQLiteDatab ...

  5. 图文:eclipse中SVN分支合并到主干

    在项目开发中,需要添加一些新的功能,但是又不想影响到其他开发人员的项目进度,所以决定使用SVN分支进行开发,分支开发完毕后再合并到主干.本文介绍如何在eclipse中合并分支到主干. 1. 要想将分支 ...

  6. IOS百度地图之--->第一篇《环境配置与基本使用》

    Ios 百度地图SDK简易使用说明:http://developer.baidu.com/map/index.php?title=iossdk 先道歉:对于原来上传的Demo我很抱歉,什么都没有,也没 ...

  7. Session的两种实现

    1.若果浏览器支持cookies,则可以使用临时cookies 2.若不支持,则使用request.encodURL();重写url

  8. iOS开发之JSON & XML

    1.概述 JSON (1) 作为一种轻量级的数据交换格式,正在逐步取代XML,成为网络数据的通用格式 (2) 基于JavaScript的一个子集 (3) 易读性略差,编码手写难度大,数据量小 (4) ...

  9. maridb安装审计audit插件

    1.下载插件 https://mariadb.com/kb/en/mariadb-audit- plugin/ 比较新的mariadb版本audit插件直接内嵌在版本里,可以直接安装 INSTALL ...

  10. SQLServer中间接实现函数索引或者Hash索引

    本文出处:http://www.cnblogs.com/wy123/p/6617700.html SQLServer中没有函数索引,在某些场景下查询的时候要根据字段的某一部分做查询或者经过某种计算之后 ...