mysql5.7设置远程访问不是和网上说的一样建个用户赋个权限就可以访问的。比如下边这个就是建用户赋权限,可能在之前的版本可以,但是我在我的mysql上一直不行。为此烦了好久!!!项目都耽误了!!

一、原来设置远程访问的方式

Mysql默认是不可以通过远程机器访问的,通过下面的配置可以开启远程访问

在MySQL Server端:

执行mysql 命令进入mysql 命令模式,

  1. mysql> use mysql;
  2. mysql> GRANT ALL ON *.* TO user@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;

#这句话的意思 ,允许任何IP地址(上面的 % 就是这个意思)的电脑 用admin帐户  和密码(admin)来访问这个MySQL Server

#必须加类似这样的帐户,才可以远程登陆。 root帐户是无法远程登陆的,只可以本地登陆

远程访问:

  1. mysql -h172.21.5.29 -uuser -p123456  即可了
  2. //172.21.5.29就是MySQL Server的IP地址,user就是刚才在 172.21.5.29上设置的远程访问帐户

另外你也可以在一个机器上模拟远程访问,就是多开几个终端,方便测试是否可以远程访问。

 
我发现一个问题, 如果上面的命令你执行完毕, 你在 本地就是localhost , 执行 :
  1. mysql -hlocalhost -uadmin -padmin

结果是失败的。 
原来 上面的 % 竟然不包括localhost

所以你还必须加上这样的 命令:
mysql>GRANT ALL ON *.* TO admin@'localhost'  IDENTIFIED BY 'admin' WITH GRANT OPTION;

二、mysql5.7中设置远程访问

我在按照上边的方法设置后,发现用mysql -h 并不能远程访问,修改了/etc/my.cnf配置文件把

#skip-networking 注释掉
加上bind-address=0.0.0.0

然而并没有卵用!

看得我都快背下来了!

后来我直接去看他的配置文件:在/etc/mysql文件夹下

点开图中的my.cnf:  有下面一些话:

#
# * IMPORTANT: Additional settings that can override those from this file!

# 其他地方的配置可以覆盖此文件的配置
# The files must end with '.cnf', otherwise they'll be ignored.  
#

!includedir /etc/mysql/conf.d/
!includedir /etc/mysql/mysql.conf.d/

文件最后的两个路径我很好奇,就去看了下:conf.d/:

里边一个配置文件,打开发现,就一个[mysql],然后啥都没有。

再看另一个:

也有一个配置文件,打开发现有惊喜,就在这里边有一句话:

瞬间有种见到天日的感觉!!!看它的注释就明白,只能本地连接,问题出在这!!

把bind-address注释掉:#bind-address=...

重启mysql服务,远程链接:

  1. mysql -h172.17.0.1 -uuser -p

//我的用户名是:user

终于进去了,哈哈!!

为了这个折腾了两天!!!我是服气mysql的!!

mysql5.7 设置远程访问的更多相关文章

  1. linux下设置mysql5.7数据库远程访问

    1.在网上看了很多关于设置远程访问的方式,根本就不起作用,后来在网上看到有一篇文章终于解决了我的问题,在配置文件中 /etc/mysql/my.cnf : 2.编辑 vi /etc/mysql/mys ...

  2. Ubuntu 16.04 安装mysql并设置远程访问

    说明: 一个朋友在使用ubuntu-server 16.04安装mysql,设置远程访问的时候出现了问题,请我帮忙.但是,我也没有使用过ubuntu安装mysql,于是乎搜索了很多技术文件,比着葫芦画 ...

  3. mysql设置远程访问

    Mysql远程访问设置,容许远程连接本地数据库. 1.进入本地Mysql安装目录bin下,登录Mysql, 如图: 2.  切换数据库到内置的名为“mysql”的数据库,可以看到下面的一个名为“use ...

  4. MySQL8.0设置远程访问权限

    mysql 8.0.11 用Navicat远程无法连接 症状: 安装了mysql 8.0.11 之后本地可以登录,但是远程第三方工具无法连接,防火墙已经放通的, 解决之道: 首先登陆到mysql命令行 ...

  5. mysql5.7设置简单密码报错ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

    注:本文来源于<  mysql5.7设置简单密码报错ERROR 1819 (HY000): Your password does not satisfy the current policy r ...

  6. MYSQL 更改数据库data存储目录 创建用户 创建权限 设置远程访问的权限.

    一. 怎么更改数据库data存储目录:  1. 安装MYSQL. 2. 切换到 C:\Program Files\MySQL\MySQL Server 5.6 3. 新建my.ini. 加入如下配置: ...

  7. linux安装mysql之设置远程访问权限

    1.将3306端口加入防火墙 /sbin/iptables -I INPUT -p tcp --dport 3306-j ACCEPT  #添加端口3306/etc/rc.d/init.d/iptab ...

  8. Linux中MySQL5.7设置utf8编码格式步骤

    关于编码问题,真的是弄得我很郁闷,网上找的帖子这方面也很多但都无济于事,晚上终于找到一篇有效的,特此贴上. 转自Ubuntu中MySQL5.7设置utf8编码格式步骤 1.首先打开终端 2.输入mys ...

  9. ubuntu16.0.4安装mysql5.7以及设置远程访问

    1.安装mysql命令 sudo apt-get install mysql-server sudo apt install mysql-client sudo apt install libmysq ...

随机推荐

  1. 初识homebrew

    homebrew是MAC上的一个包管理工具,用于软件安装,非常方便. homebrew安装: 命令行执行: ruby -e "$(curl -fsSL https://raw.githubu ...

  2. MPSOC之2——ubuntu环境配置及petalinux安装

    MPSOC的linux开发需要使用petalinux,选择Ubuntu操作系统. 1.Ubuntu 1.1. Ubuntu安装 版本16.04.03 vmare版本:12.0 安装时注意选择" ...

  3. redis的hash类型

    1.简单描述 hash是一个string类型的field和value的映射表.添加和删除操作都是O(1)(平均)的复杂度.hash类型特别适合用于存储对象.在field的数量在限制的范围内以及valu ...

  4. 关于SQLALCHEMY之(一)

    SQLALCHEMY是一个不可靠的方案.对于初级开发者而言,并不如SQL语句来得简明. 或者说,我不知道是不是所有的ORM数据库对象映射方案都存在这么一种情况.纯以开发逻辑而言.下述两段代码的结论是一 ...

  5. Java Web 单表操作

    为了测试 JavaWeb 项目,我做了一个关于一张表的更新操作. 1.加群 如果需要本项目的源码,欢迎加群:438255459 2.解压 解压开这个包,然后用 Eclipse 打开项目,至于涉及到 T ...

  6. 【java提高】---数组增删 list删除 map删除

    数组增删 集合删除 1.数组增删 package com.test; import java.util.List; import java.util.ArrayList; import java.ut ...

  7. ArcGIS API for JavaScript 4.2学习笔记[7] 鹰眼(缩略图的实现及异步处理、Promise、回调函数、监听的笔记)

    文前说明:关于style就是页面的css暂时不做评论,因为官方给的例子的样式实在太简单了,照抄阅读即可. 这篇文章有着大量AJS 4.x版本添加的内容,如监听watch.Promise对象.回调函数. ...

  8. DNS 域名系统的简介

    一.DNS域名系统简介 1.网络中为了区别各个主机,必须为每台主机分配一个唯一的地址, 这个地址即称为“IP 地址.但这些数字难以记忆, 所以采用“域名” 的方式来取代这些数字. 2.当某台主机要与其 ...

  9. lesson - 1 - IP /DNS /cat !$ /putty 知识扩充

    一.知识点扩充 1.嵌入式Linux 开发与运维 .安卓手机  .     Linux真正的用武之地是蓬勃发展的信息接入设备市 场.这些新兴的设备只有有限的内存,价格也只有几百美元,因此开发者需要新的 ...

  10. git push的用法

    git push <远程仓库名> <本地分支名>:<远程分支名>