mysql5.7设置远程访问不是和网上说的一样建个用户赋个权限就可以访问的。比如下边这个就是建用户赋权限,可能在之前的版本可以,但是我在我的mysql上一直不行。为此烦了好久!!!项目都耽误了!!
一、原来设置远程访问的方式
Mysql默认是不可以通过远程机器访问的,通过下面的配置可以开启远程访问
在MySQL Server端:
执行mysql 命令进入mysql 命令模式,
mysql> use mysql;
mysql> GRANT ALL ON *.* TO user@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
#这句话的意思 ,允许任何IP地址(上面的 % 就是这个意思)的电脑 用admin帐户 和密码(admin)来访问这个MySQL Server
#必须加类似这样的帐户,才可以远程登陆。 root帐户是无法远程登陆的,只可以本地登陆
远程访问:
mysql -h172.21.5.29 -uuser -p123456 即可了
//172.21.5.29就是MySQL Server的IP地址,user就是刚才在 172.21.5.29上设置的远程访问帐户
另外你也可以在一个机器上模拟远程访问,就是多开几个终端,方便测试是否可以远程访问。
我发现一个问题, 如果上面的命令你执行完毕, 你在 本地就是localhost , 执行 :
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服务,远程链接:
mysql -h172.17.0.1 -uuser -p
//我的用户名是:user
终于进去了,哈哈!!
为了这个折腾了两天!!!我是服气mysql的!!
linux下设置mysql5.7数据库远程访问
1.在网上看了很多关于设置远程访问的方式,根本就不起作用,后来在网上看到有一篇文章终于解决了我的问题,在配置文件中 /etc/mysql/my.cnf : 2.编辑 vi /etc/mysql/mys ...
Ubuntu 16.04 安装mysql并设置远程访问
说明: 一个朋友在使用ubuntu-server 16.04安装mysql,设置远程访问的时候出现了问题,请我帮忙.但是,我也没有使用过ubuntu安装mysql,于是乎搜索了很多技术文件,比着葫芦画 ...
mysql设置远程访问
Mysql远程访问设置,容许远程连接本地数据库. 1.进入本地Mysql安装目录bin下,登录Mysql, 如图: 2. 切换数据库到内置的名为“mysql”的数据库,可以看到下面的一个名为“use ...
MySQL8.0设置远程访问权限
mysql 8.0.11 用Navicat远程无法连接 症状: 安装了mysql 8.0.11 之后本地可以登录,但是远程第三方工具无法连接,防火墙已经放通的, 解决之道: 首先登陆到mysql命令行 ...
MYSQL 更改数据库data存储目录 创建用户 创建权限 设置远程访问的权限.
一. 怎么更改数据库data存储目录: 1. 安装MYSQL. 2. 切换到 C:\Program Files\MySQL\MySQL Server 5.6 3. 新建my.ini. 加入如下配置: ...
linux安装mysql之设置远程访问权限
1.将3306端口加入防火墙 /sbin/iptables -I INPUT -p tcp --dport 3306-j ACCEPT #添加端口3306/etc/rc.d/init.d/iptab ...
Linux中MySQL5.7设置utf8编码格式步骤
关于编码问题,真的是弄得我很郁闷,网上找的帖子这方面也很多但都无济于事,晚上终于找到一篇有效的,特此贴上. 转自Ubuntu中MySQL5.7设置utf8编码格式步骤 1.首先打开终端 2.输入mys ...
ubuntu16.0.4安装mysql5.7以及设置远程访问
1.安装mysql命令 sudo apt-get install mysql-server sudo apt install mysql-client sudo apt install libmysq ...
随机推荐
Android系统中应用的安装和卸载的监听
一.创建一个类继承BroadcastReceiver并且复写onReceive的方法 public class AppStateReceiver extends BroadcastReceiver { ...
AngularJs的UI组件ui-Bootstrap分享(七)——Buttons和Dropdown
在ui-Bootstrap中,Buttons控件和Dropdown控件与form表单中的按钮和下拉框名字很像,但实际上这两个控件有新的含义. 先说Buttons,它是一组按钮,用来实现form表单中的 ...
Ember学习(8):REOPENING CLASSES AND INSTANCES
英文原址:http://emberjs.com/guides/object-model/reopening-classes-and-instances/ 你不须要一次就完毕类所有内容的定义,通过reo ...
GitHub中开启二次验证Two-factor authentication,如何在命令行下更新和上传代码
最近在使用GitHub管理代码,在git命令行管理代码时候遇到一些问题.如果开起了二次验证(Two-factor authentication两个要素认证),命令行会一直提示输入用户名和密码.查找了一 ...
Algorithm -->; 顺序打印矩阵
顺序打印矩阵 思路 参考代码 #include using namespace std; ], int row, int col) { || col < ) r ...
简述我理解的C#
第一章:开发入门 一.基础知识 1.计算机语言发展进程:计算机语言大致经过了机器语言.汇编语言.高级语言三个阶段的发展历程. 汇编语言:使用助记符来替代机器指令机器语言这种反人类的设计,阻碍了软 ...
Linux下的常用文本编辑器
Linux的文本编辑器 ed 在早期的unix平台上,ed可以说是唯一的编辑工具.它是一个很古老的行编辑器,vi这些编辑器都是从ed 演化而来.行编辑器使用起来很不方便,每次只能对一行进行操作,.而后 ...
将分支代码合并到master和将master代码合并到dev
两种合并分支的方法: 都保证在合到的那个分支上面:A合并到B,即保证当前在B分支上. A merge B是把A中的改动放到B分支上,B merge A是把B中的改动merge到A中,例如把master ...
一 Struts框架(上)
Struts2 是基于MVC的WEB框架 经过六年多的发展,Struts1已经成为了一个高度成熟的框架,不管是稳定性还是可靠性都得到了广泛的证明.市场占有率超过20%,拥有丰富的开发人群,几乎已经成为 ...
C#:WebBrowser控件的使用教程及相关问题整理
推荐阅读: C#WebBrowser控件使用教程与技巧收集--苏飞收集 C# WebBrowser强制在本窗口打开,禁止在新窗口打开 C# WebBrowser禁止在新窗口打开,强制在本窗口打开(多种 ...