Navicat远程连接MongoDB最全解决方法(教程报错)

Posted 不凉帅

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Navicat远程连接MongoDB最全解决方法(教程报错)相关的知识,希望对你有一定的参考价值。

MongoDB简介

MongoDB是一个开源、高性能、支持海量数据存储的文档型数据库

是NoSQL数据库产品中的一种,是最像关系型数据库(mysql)的非关系型数据库

  1. 数据存储量较大,甚至是海量
  2. 对数据读写的响应速度要求较高
  3. 某些数据安全性要求不高,可以接受一定范围内的误差

MongoDB的安装

使用docker安装MongoDB:

docker pull mongo

docker run --name mongodb-server -p 27017:27017 -v ~/data/mongodata:/data -d  mongo

Navicat远程连接MongoDB

首先必须保证linux端口和服务器端口是打开的

如果报错:

解决办法: 

1、执行命令,进入 mongodb 容器(mongodb-server 为容器名)

docker exec -it mongodb-server /bin/bash

2、在 mongodb 容器中执行以下命令

#更新源
apt-get update
#安装 vim
apt-get install vim
#修改 mongo 配置文件
vim /etc/mongod.conf.orig

将mongod.conf.orig文件中的bindIp: 127.0.0.1注释掉# bindIp: 127.0.0.1 或者改成bindIp: 0.0.0.0 即可开启远程连接。

3、远程连接要有对应的用户名和数据库。

$ docker exec -it mongo mongo admin
# 创建一个名为 admin,密码为 123456 的用户。
>  db.createUser( user:'admin',pwd:'123456',roles:[  role:'userAdminAnyDatabase', db: 'admin',"readWriteAnyDatabase"]);
# 尝试使用上面创建的用户信息进行连接。
> db.auth('admin', '123456')

 

 

 

Navicat远程连接云服务器数据库的方法(含报错解决方法)

 

目    录

 1.服务器控制台开启SSH服务

 2.navicat远程连接云服务器数据库步骤:

3.navicat 操作演示

4.navicat远程连接常见错误报警


 

 

 1.服务器控制台开启SSH服务

(图:001创建MySQL的ssh通道允许远程服务) 

 

 (首先登录云服务器官方提供的后台管理控制台,此处以腾讯云服务器为演示)

 1.点击防火墙

2.点击添加规则

3.允许访问,确定

最终创建结果上图001所示

 2.navicat远程连接云服务器数据库步骤:

 

 (图:002   navicat操作演示  —— SSH)

 注意服务器的密码和用户名未更改情况下,就是刚购买的服务器的用户名和密码,如果忘记了可以登录云服务器官方提供的网站进入重置密码。

 

(图:003    navicat操作演示  ) 

 填写好信息后,注意查看点击测试连接

 (测试机连接成功)

 

连接成功后,点击确定,如果后面弹出:要求输入SSH密钥,直接输入服务器密码即可。 

3.navicat 操作演示

 (如图所示就成功了)

(navicat 图形化操作界面) 

(命令行查看) 

4.navicat远程连接常见错误报警

(错误1) 

解决方法1如下:

输入命令:sudo   nano /etc/ssh/sshd_config

进入服务器的ssh编辑开启: PermitRootLogin yes

 (服务器开启:PermitRootLogin yes)

(进入后,linux服务器操作命令  ctal  +  o  表示:进入编辑界面 ; CATL   +  x 退出编辑  ;  输入  yes  保存退出 )

 

如果还是不行,多半是用户名和密码错误了,如果查看这个是  yes  的那就是用户名和密码错误。

 

错误原因:上图图002位置的用户名和密码错误,或者上图003处的数据库名字和密码错误.

解决办法2:重新确定好密码以及用户名,再次输入即可。

 

 (错误2)

在桌面找到该图标右击“管理”——》进入“服务和应用程序”——》双击打开“服务”——》找到“MYSQL”(名字可以是MySQL80、MySQL5等等,根据自己安装的版本来确定。)

 (点击开启服务,选择自动)

 

(错误3) 

报错:1130

解决办法:上图001处,进入云服务器官方给的后台管理网站开同MYSQL的SSH通道。

如果这个还是不能解决

    请进行如下操作:

 

可能是无法给远程连接的用户权限问题。

    解决方案:

  1. 服务器登入mysql后,更改 “mysql” 数据库里的 “user” 表里的 “host” 项,从”localhost”改称'%'。
  2. SQL语句:权限用户root登录:mysql -u root -p  
  3. 选择mysql库:use mysql;  
  4. 查看mysql库中的user表的host值(即可进行连接访问的主机/IP名称):select host from user where user='root';  
  5. 修改host值(以通配符%的内容增加主机/IP地址),当然也可以直接增加IP地址:update user set host = '%' where user ='root';  
  6. 刷新MySQL的系统权限相关表:flush privileges;  
  7. 重新查询host字段值是否更改:select host from user where user='root';\\n\\nservice mysqld restart(执行quit;退出MySQL后执行的)重起mysql服务即可完成。

演示代码:

>mysql -u root -p(后跟数据库密码)

>use mysql

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

>select host,user from user;

>flush privileges;

 

如果有其他问题请留言~、

希望可以帮到正在阅读的您。

 

以上是关于Navicat远程连接MongoDB最全解决方法(教程报错)的主要内容,如果未能解决你的问题,请参考以下文章

通过Navicat for MySQL远程连接的时候报错mysql 1130 的解决方法

navicat 可以连接mongodb吗?

navicat连接远程数据库mysql报错2013解决方法

navicat连接远程数据库mysql报错2013解决方法

Navicat连接远程数据库报1251的错误

亲测可用通过Navicat for MySQL远程连接的时候报错mysql 1130的解决方法