昨天博主遇到一个很棘手的问题,就是如何使用Windows 去连接Ubuntu 下MySQL数据库,最后在网上查阅了相关的资料,浏览了很多前辈们的博客,终于解决这个问题了。

我的电脑配置情况是Windows10 ,Navicat Premium 12,Ubuntu 16.04 和MySQL5.7

除了Ubuntu 16.04系统是必须的。其他的配置区别就不那么重要了。

在这个连接过程中,必须要保证几点:

  • 1.Ubuntu的防火墙要关闭
  • 2.MySQL开放root用户的访问权限
  • 3.两台主机电脑必须互相能Ping通

我当初的问题就出在第三步了。在局域网下,必要要保证在同一个网段下,而且还要在同一个交换机下,如果不在一个交换机下,虽然可以ping通,但是Navicat是连不上的,会给你报错10061错误)

具体步骤如下:

1.配置Ubuntu的防火墙

打开3306端口:sudo ufw allow 3306

查看防火墙的状态:sudo ufw status

开启防火墙:sudo ufw enable

关闭防火墙:sudo ufw disable

设置默认的防火墙防御:sudo ufw default deny

2.修改数据库的权限配置

2.1 首先要连接数据库

mysql -u root -p

使用你的数据库

use mysql

2.2.查看root的权限
因为我已经设置过了,所以这里是host是%,局域网内的任何ip都可以访问。

select user,host from user;


其中%代表开放连接(就是谁都能连),localhost代表本机IP连接权限,也可以对某个IP进行授权。

2.3.对root用户授权,这里提供两种方法。  
方法一、本地登入mysql,更改 “mysql” 数据库里的 “user” 表里的 “host” ,将"localhost"改为"%"

use mysql;
update user set host = '%' where user = 'root';

方法二:直接授权(推荐)

 grant all privileges on *.* to root@'%' identified by '你的密码' with grant option;

2.4刷新一下权限

flush privileges;


2.5.修改配置:
mysql连接配置文件存放在下面那个文件夹

/etc/mysql/mysql.conf.d


进入里面用vi打开文件

sudo vi mysqld.cnf

找到bind-address =‘一个IP’,在下面输入bind-address = 0.0.0.0然后保存退出。

2.6退出MySQL服务器,这样就可以在其它任何的主机上以root身份登录

EXIT

2.7.查看自己的mysql服务器是否运行

sudo netstat -lntp


这个表示你的mysql服务器在运行,授权和配置也搞好了,如果没显示重启mysql看看效果。

2.8查看你主机的IP输入:

ifconfig

3.通过Navicat 连接Ubuntu 下的MYSQL数据库。

在windows中的Navicat上输入基本上就搞定了。连接名自己取,端口3306,root不变,把localhost换成你主机的IP,输入密码。

Win下通过 Navica t连接Ubuntu下MySQL数据库相关推荐

  1. linux下程序JDBC连接不到mysql数据库

    今天在linux下部署一个 JavaEE项目的时候总是连接不到Mysql数据库,检查之后发现连接池的配置确定是对的,进入linux服务器之后以mysql -uname -ppassword连接总是报A ...

  2. 计算机毕业设计Java疫情下的居民管理系统(系统+源码+mysql数据库+Lw文档)

    计算机毕业设计Java疫情下的居民管理系统(系统+源码+mysql数据库+Lw文档) 计算机毕业设计Java疫情下的居民管理系统(系统+源码+mysql数据库+Lw文档) 本源码技术栈: 项目架构:B ...

  3. linux mysql 10061_详解使用navicat连接远程linux mysql数据库出现10061未知故障

    使用使用navicat连接远程linux mysql数据库出现10061未知故障,设置使用ssh连接后出现2013故障 本机环境:win10 navicat premium mysql数据库主机环境: ...

  4. php网页连mysql_php - 如何在单个网页上连接多个MySQL数据库?

    php - 如何在单个网页上连接多个MySQL数据库? 我将信息分散在几个数据库中,并希望使用PHP将所有信息放到一个网页上. 我想知道如何连接到单个PHP网页上的多个数据库. 我知道如何使用以下方法 ...

  5. myeclipse mysql连接_怎么连接myeclipse与mysql数据库

    怎么连接myeclipse与mysql数据库 发布时间:2020-07-30 09:32:29 来源:亿速云 阅读:110 作者:Leah 本篇文章给大家分享的是有关怎么连接myeclipse与mys ...

  6. 最详细Android连接远程的MySQL数据库实例

    最详细Android连接远程的MySQL数据库实例 tags:MySQL 文章目录 最详细Android连接远程的MySQL数据库实例 前言 环境配置 查看MySQL:version方法 新建Andr ...

  7. JAVA通过JDBC连接并操作MySQL数据库

    JAVA通过JDBC连接并操作MySQL数据库 JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提 ...

  8. 实践案例丨Pt-osc工具连接rds for mysql 数据库失败

    本文分享自华为云社区<Pt-osc工具连接rds for mysql 数据库失败>,原文作者:云技术搬运工 . [现象] 主机可以telent 通rds 端口,并且使用mysql-clie ...

  9. tableau无法建立连接_的Tableau错误连接到本地MySQL数据库

    Windows Server 2008的 的Tableau桌面7.0 本地MySQL使用XAMPP的Tableau错误连接到本地MySQL数据库 当试图使用的Tableau Desktop中的原生My ...

最新文章

  1. hadoop 2.2 本地库编译
  2. pygame-KidsCanCode系列jumpy-part10-角色动画(上)
  3. (AIDE)Android Eclipse JNI 调用 .so文件加载问题
  4. pythonargmaxaxis1_详解numpy的argmax的具体使用
  5. send,recv,sendto,recvfrom
  6. PB数据窗口自动换下一页
  7. ELK:ElasticSearch定期关闭和删除索引脚本
  8. EXCEL 未启用宏,但包含启用宏的内容
  9. 兼容安卓和苹果的滚动
  10. boost.asio 源码剖析
  11. springboot+教学工作量管理系统 毕业设计-附源码221541
  12. c语言何钦铭,C语言 何钦铭
  13. input 起止时间_几种常用的控件(下拉框 可选框 起止日期 在HTML页面直接读取当前时间)...
  14. 深究跨dll的资源分配和释放问题
  15. c++第一次亲密接触
  16. 一个阿里巴巴程序员的心路历程
  17. C#,数值计算(Numerical Recipes in C#),大型稀疏线性系统(Sparse Linear Systems)的数据存储结构与源代码
  18. 网络虚拟化NVP(1)
  19. 如何打开*.ASA文件!
  20. [RO]机器人传感器 Sensor

热门文章

  1. lepus mysql 复制监控_MySQL数据库之CentOS搭建lepus3.8监控MySQL
  2. Hive--优化参数
  3. wstring 截取_StringUtils截取字符substringBefore等方法使用
  4. zuul 网关的用途_Zuul网关
  5. 如何使用 Java 中执行 Windows 的 CMD 命令
  6. 200825C文件 复习
  7. IDEA使用从Eclipse过来的快捷键
  8. 在WEB自定义控件中实现自动回传功能
  9. HDU - 6153 A Secret(KMP的next数组性质/扩展KMP)
  10. virtualbox 创建桥接网络_VirtualBox 配置虚拟网卡(桥接),实现主机-虚拟机网络互通(图文教程)...