Navicat远程连接mysql数据库

2023-11-14

第一,首先能ping通mysql数据库所在的主机。

第二,telnet mysql数据库的端口号 。如果不行,要在防火墙,高级设置里面,配置入站规则;开放3306端口。

第三,如果还不行,结合下面两个网址

http://blog.csdn.net/a19881029/article/details/50805562

,总结如下:

第一步:

mysql服务没问题:

[plain]  view plain  copy   在CODE上查看代码片 派生到我的代码片
  1. sean@sean:~$ ps -ef|grep mysqld  
  2. mysql      1219      1  0 21:09 ?        00:00:01 /usr/sbin/mysqld  
  3. sean      10373   9602  0 21:38 pts/7    00:00:00 grep --color=auto mysqld  

并且本地的登录也能成功:

[plain]  view plain  copy   在CODE上查看代码片 派生到我的代码片
  1. sean@sean:~$ mysql -u root -h 127.0.0.1  
  2. Welcome to the MySQL monitor.  Commands end with ; or \g.  
  3. Your MySQL connection id is 40  
  4. Server version: 5.5.47-0ubuntu0.14.04.1 (Ubuntu)  
  5.   
  6. Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved.  
  7.   
  8. Oracle is a registered trademark of Oracle Corporation and/or its  
  9. affiliates. Other names may be trademarks of their respective  
  10. owners.  
  11.   
  12. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.  
  13.   
  14. mysql>   

但是使用外网地址却无法登录:

[plain]  view plain  copy   在CODE上查看代码片 派生到我的代码片
  1. sean@sean:~$ mysql -u root -h 192.168.137.128  
  2. ERROR 2003 (HY000): Can't connect to MySQL server on '192.168.137.128' (111)  

于是修改了一下MySQL的配置文件:

[plain]  view plain  copy   在CODE上查看代码片 派生到我的代码片
  1. sean@sean:~$ sudo vi /etc/mysql/my.cnf   

在bind-address= 127.0.0.1这一行前加#(注释掉这行)

[plain]  view plain  copy   在CODE上查看代码片 派生到我的代码片
  1. # Instead of skip-networking the default is now to listen only on  
  2. # localhost which is more compatible and is not less secure.  
  3. #bind-address           = 127.0.0.1  

然后重启mysql服务:

[plain]  view plain  copy   在CODE上查看代码片 派生到我的代码片
  1. sean@sean:~$ sudo service mysql restart  
  2. mysql stop/waiting  
  3. mysql start/running, process 11622  

原先的问题解决了,现在遇到了新的问题:

再次搜索了一下,发现是授权的问题

[plain]  view plain  copy   在CODE上查看代码片 派生到我的代码片
  1. mysql> use mysql;  
  2. Reading table information for completion of table and column names  
  3. You can turn off this feature to get a quicker startup with -A  
  4.   
  5. Database changed  
  6. mysql> select host, user, password from user;  
  7. +-----------+------------------+-------------------------------------------+  
  8. | host      | user             | password                                  |  
  9. +-----------+------------------+-------------------------------------------+  
  10. | localhost | root             |                                           |  
  11. | sean      | root             |                                           |  
  12. | 127.0.0.1 | root             |                                           |  
  13. | ::1       | root             |                                           |  
  14. | localhost | debian-sys-maint | *0AA379AB8AFD785B32D661A07E9D5C7A24E3B186 |  
  15. +-----------+------------------+-------------------------------------------+  
  16. 5 rows in set (0.00 sec)  
  17.   
  18. mysql> update user set host = "%" where host = "sean" and user = "root";  
  19. Query OK, 1 row affected (0.00 sec)  
  20. Rows matched: 1  Changed: 1  Warnings: 0  
  21.   
  22. mysql> flush privileges;  
  23. Query OK, 0 rows affected (0.00 sec)  
  24.   
  25. mysql> select host, user, password from user;  
  26. +-----------+------------------+-------------------------------------------+  
  27. | host      | user             | password                                  |  
  28. +-----------+------------------+-------------------------------------------+  
  29. | localhost | root             |                                           |  
  30. | %         | root             |                                           |  
  31. | 127.0.0.1 | root             |                                           |  
  32. | ::1       | root             |                                           |  
  33. | localhost | debian-sys-maint | *0AA379AB8AFD785B32D661A07E9D5C7A24E3B186 |  
  34. +-----------+------------------+-------------------------------------------+  
  35. 5 rows in set (0.00 sec)  
第二步:

http://www.111cn.net/database/mysql/46377.htm

有朋友可能会碰到使用Navicat for mysql 远程连接 mySql数据库会提示10061、1045错误或 2003-Can’t connect to MySQL on ’192.168.1.2’(10061),这个原因是因为MySQL不准许远程连接。

最简单的办法是

MySQL远程配置

 代码如下 复制代码


GRANT ALL PRIVILEGES ON *.* TO root@'%' IDENTIFIED BY 'your paaaword'; %表示多有机器。

打开3306端口,为防火墙设置例外,放行3306.

但你必须有root权限了,

还可以如下方法修改:

1:在服务端MySQL文件夹下找到my.ini文件。修改bind-address=127.0.0.1 为 bind-address=0.0.0.0 (在MySQL 5的my.ini中未发现此项)

2:重新启动MySQL服务。

测试连接情况:

如果没有给远程登录用户添加所有机器都能访问的权限,将会出现“1045-Access denied for user root@IT(using password:NO)”,这表明需要添加权限;

添加命令如下:

 代码如下 复制代码

1)grant all on *.* to 用户名@"%" identified by "密码";

2)flush privileges;

完成以上步骤,就可以远程访问MySQL数据库了。


如果上面办法不能解决我们可以开启MySQL远程访问权限 允许远程连接

1、登陆mysql数据库   

 代码如下 复制代码

mysql -u root -p

查看user表

 代码如下 复制代码
mysql> use mysql;
Database changed
mysql> select host,user,password from user;
+--------------+------+-------------------------------------------+
| host         | user | password                                  |
+--------------+------+-------------------------------------------+
| localhost    | root | *A731AEBFB621E354CD41BAF207D884A609E81F5E |
| 192.168.1.1 | root | *A731AEBFB621E354CD41BAF207D884A609E81F5E |
+--------------+------+-------------------------------------------+
2 rows in set (0.00 sec)

 

   可以看到在user表中已创建的root用户。host字段表示登录的主机,其值可以用IP,也可用主机名,

   (1)有时想用本地IP登录,那么可以将以上的Host值改为自己的Ip即可。

2、实现远程连接(授权法)

   将host字段的值改为%就表示在任何客户端机器上能以root用户登录到mysql服务器,建议在开发时设为%。   
   update user set host = ’%’ where user = ’root’;

   将权限改为ALL PRIVILEGES

 代码如下 复制代码

mysql> use mysql;
Database changed
mysql> grant all privileges  on *.* to root@'%' identified by "root";
Query OK, 0 rows affected (0.00 sec)

mysql> select host,user,password from user;
+--------------+------+-------------------------------------------+
| host         | user | password                                  |
+--------------+------+-------------------------------------------+
| localhost    | root | *A731AEBFB621E354CD41BAF207D884A609E81F5E |
| 192.168.1.1 | root | *A731AEBFB621E354CD41BAF207D884A609E81F5E |
| %            | root | *A731AEBFB621E354CD41BAF207D884A609E81F5E |
+--------------+------+-------------------------------------------+
3 rows in set (0.00 sec)

这样机器就可以以用户名root密码root远程访问该机器上的MySql.

3、实现远程连接(改表法)

 代码如下 复制代码

use mysql;

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

这样在远端就可以通过root用户访问Mysql


总结:

看过上面的介绍后,想必很容易理解了吧,首先数据库服务要启动,其次连接数据库的主机要开放连接数据库入站规则的端口3306,再其次就是在数据库中给远程连接的主机赋予远程连接的权限。


本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Navicat远程连接mysql数据库 的相关文章

随机推荐

  • 根据印刷行业的特点,整理出MES管理系统解决方案

    印刷行业中 与ERP管理系统相关的功能模块主要包含销售预测 生产计划 物料需求等 作为ERP系统的下层信息系统 MES生产执行系统的计划执行来源于上层ERP系统中的生产订单 并在MES生产执行系统中生成生产任务单 然后分配到相应的生产车间
  • 未能连接服务器1004,FAILURE:Error Domain = NSURLErrorDomain Code = -1004"无法连接到服务器。"...

    在此之前 我想列出我已阅读的帖子并尝试实施答案 避免重复 我正在开发SDK 我已经创建了一些UI测试 我试图不连接到后端系统并通过在测试时在本地机器上运行的存根服务器来模拟它们 所有请求都必须转到此服务器 我创建了一个永远不会提交到App
  • 微信AR教程|鼓浪屿趣味地图

    KIVICUBE教程 鼓浪屿WebAR趣味地图 01 场景构想 首先需要注册kivicube账号 kivicube是一个WebXR在线制作工具 帮助用户通过在线可视化编辑即可快速制作AR场景 并可一键发布至web与微信小程序两个端口 通过微
  • 【hello C++】类和对象(下)

    目录 1 再谈构造函数 1 1 构造函数体赋值 1 2 初始化列表 1 3 explicit关键字 2 static成员 2 1 概念 2 2 特性 3 友元 3 1 友元函数 3 2 友元类 4 内部类 5 匿名对象 6 拷贝对象时的一些
  • 用sort 对结构体排序

    思路 先定义一个你想要的结构体 然后再自定义一个cmp函数 根据需要来进行大小比较的判断 最后在main函数中通过sort xxx xxx n cmp 来进行判断即可 实例 struct people string name string
  • 【硬件架构的艺术】学习笔记(1)亚稳态的世界

    目录 1 亚稳态 1 1 什么是亚稳态 1 2 亚稳态窗口 1 3 避免亚稳态 1 3 1 使用多级同步器 1 3 2 使用时钟倍频电路的多级同步器 1 4 亚稳态测试电路 1 5 同步器的类型 1 6 亚稳态综合性建议 1 亚稳态 1 1
  • docker教程:从头基于空镜像scratch创建一个新的Docker镜像

    从头基于空镜像scratch创建一个新的Docker镜像 我们在使用dockerfile构建镜像时 一种方式是使用预制镜像 这样可以省很多工作量 但问题是镜像会变得特别大 尤其是安装一些应用程序所需的依赖后 镜像的尺寸会更大 如果我们的需求
  • Unity常用旋转API

    Unity中的旋转通常可以用Transform 直接控制和 rotation 控制两种方式 一 Transform控制 工程中的scene1 1 1 Transform Rotate 旋转某个角度 函数定义 csharp view plai
  • python turtle代码示例-Python turtle.left方法代码示例

    本文整理汇总了Python中turtle left方法的典型用法代码示例 如果您正苦于以下问题 Python turtle left方法的具体用法 Python turtle left怎么用 Python turtle left使用的例子
  • 大屏数据可视化——屏幕适配方案(多分辨率下)

    文章目录 前言 一 一些前提概念 1 1 常见大屏分辨率 1 2 设备像素 二 适配痛点 三 关于rem 四 关于px2rem 五 适配方案 5 1 rem自适应缩放 5 2 css3缩放scale 六 demo演示 6 1 1366 76
  • vs2017统计代码行数方法

    方法一 查找所有代码行数 包括系统生成 1 打开项目 2 编辑 查找和替换 选中 在文件中查找 然后就会弹出一个查找框 输入正则表达式 b b 选择查找整个解决方案 查找选项选择使用正则表达式 然后查找全部 最后就会统计出一共有几行 方法二
  • 华为OD机试 Java查找人名

    题目 代码 import java util ArrayList import java util List public class NameMatcher public
  • 网速dns怎么调快_Switch【实用DNS分享】:有效提升网络速度!

    最近很多朋友反应 似乎又有一批DNS不太灵了 下载速度直线下降 游戏联网体验也大打折扣 根据检测以下是出问题的DNS和一批没被 污染 的DNS 测试网络环境 广东电信 100M光纤 被淘汰的DNS 如果还有使用这一批DNS的玩家请研究一下自
  • BeanUtils.copyProperties的使用方法

    BeanUtils copyProperties的使用方法 1 使用的是springframe包下的 BeanUtils copyProperties a b 把a属性拷贝给b属性 2 注意事项 使用时 例如 a和b都用page封装起来 P
  • STM32F103 内部FLASH读写擦操作

    内部flash介绍 开发步骤 1 解锁和锁定 前面我们介绍了在对 FLASH 进行写操作前必须先解锁 解锁操作也就是必 须在 FLASH KEYR 寄存器写入特定的序列 0X45670123 和 0XCDEF89AB 固件库 提供了一个解锁
  • nginx(六十七)http_ssl模块 client与nginx的ssl握手

    一 HTTPS握手机制 关注点 SSL TLS握手 的细节与nginx 配置指令 的关系 核心 讲解 客户端 下游 与作为 server 端的nginx之间的 握手 最佳实践 建议在 http块 中通过 include ssl conf 把
  • 01-pytest-安装及入门

    目录 1 安装 2 查看版本 3 创建第一个测试 4 pytest用例规则 1 安装 pip install U pytest 2 查看版本 pytest version 或 pip show pytest 3 创建第一个测试 1 新建te
  • 分享一个QTabWidget的好看样式

    void setTabWidgetStyleSheet QTabWidget obj obj gt setStyleSheet QTabWidget background color transparent QTabWidget pane
  • python rfind函数用法_纵经千万次增删改,初心永不变

    开篇 上一期介绍了字符串及其切片用法 相信你已经掌握 那么这一期 我们就来学习一下字符串的增删改查等一系列方法 正是因为有了这些方法 你才能像呼吸一样自然地操作字符串 需要指出的是 字符串是不可变类型 也就是说 只要一个字符串确定了 那么任
  • Navicat远程连接mysql数据库

    第一 首先能ping通mysql数据库所在的主机 第二 telnet mysql数据库的端口号 如果不行 要在防火墙 高级设置里面 配置入站规则 开放3306端口 第三 如果还不行 结合下面两个网址 http blog csdn net a