Ubuntu操作系统下MySQL、MongoDB、Redis

        在开发和运维过程中,经常需要从Windows客户端远程连接到Ubuntu服务器上的数据库。本文将详细介绍如何在Ubuntu操作系统下安装和配置MySQL、MongoDB和Redis,以允许从Windows客户端进行远程连接,并提供详细的远程连接命令和配置说明。

一、MySQL安装及远程连接配置

(一)Ubuntu服务器端安装与配置

  1. 更新软件包列表

    sudo apt update
  2. 安装MySQL服务

    sudo apt install mysql-server
  3. 安全配置

    运行以下命令来执行安全配置,包括设置root密码、移除匿名用户、禁止root用户远程登录等。
    sudo mysql_secure_installation
  4. 创建远程用户并授权

    登录到MySQL服务器:
    sudo mysql -u root -p
    创建一个允许从任何IP地址连接的用户(假设用户名为remoteuser,密码为password
    CREATE USER 'remoteuser'@'%' IDENTIFIED BY 'password';
    GRANT ALL PRIVILEGES ON *.* TO 'remoteuser'@'%' WITH GRANT OPTION;
    FLUSH PRIVILEGES;
    这里'%'表示允许从任何IP地址连接。出于安全考虑,你可以将'%'替换为特定的IP地址或IP段,例如'192.168.1.100'
  5. 修改MySQL配置文件

    编辑MySQL的配置文件,允许远程连接。配置文件通常位于/etc/mysql/mysql.conf.d/mysqld.cnf
    sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
    找到bind-address = 127.0.0.1,将其注释掉或修改为bind-address = 0.0.0.0
    # bind-address = 127.0.0.1
    bind-address = 0.0.0.0
    保存并关闭文件。
  6. 重启MySQL服务

    保存配置文件后,重启MySQL服务以使更改生效
    sudo systemctl restart mysql
  7. 防火墙配置

    确保Ubuntu服务器的防火墙允许来自Windows的连接。可以使用以下命令开放MySQL的默认端口3306
    sudo ufw allow 3306/tcp
    sudo ufw reload

(二)Windows客户端远程连接命令

  1. 使用MySQL命令行工具

    打开命令提示符,使用以下命令连接到Ubuntu服务器上的MySQL数据库
    mysql -h <Ubuntu服务器IP地址> -u remoteuser -p
    系统会提示你输入密码,输入remoteuser用户的密码即可。
  2. 使用MySQL Workbench

    • 打开MySQL Workbench,点击“+”号添加一个新的连接。

    • 在“Connection Name”中输入连接名称,例如“Ubuntu MySQL”。

    • 在“Hostname”中输入Ubuntu服务器的IP地址。

    • 在“Username”中输入创建的远程用户名(remoteuser)。

    • 在“Password”中输入对应的密码(password)。

    • 点击“Test Connection”测试连接是否成功。如果一切配置正确,应该会看到“Connection successful!”的提示。

二、MongoDB安装及远程连接配置

(一)Ubuntu服务器端安装与配置

  1. 导入MongoDB公

    sudo apt-get install gnupg curl
    curl -fsSL https://www.mongodb.org/static/pgp/server-8.0.asc | \sudo gpg -o /usr/share/keyrings/mongodb-server-8.0.gpg \--dearmor
  2. 创建列表文

    echo "deb [ arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb-server-8.0.gpg ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/8.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-8.0.list
  3. 加载包数据库并安装MongoD

    sudo apt-get update
    sudo apt-get install -y mongodb-org
  4. 启动MongoDB服

    sudo systemctl start mongod
  5. 修改MongoDB配置文件

    1.编辑MongoDB的配置文件,允许远程连接。配置文件通常位于/etc/mongod.conf
    sudo vim /etc/mongod.conf
    2.找到bindIp选项,将其值从127.0.0.1修改为0.0.0.0
    # network interfaces
    net:port: 27017bindIp: 0.0.0.0
    3.保存并关闭文件。
  6. 重启MongoDB服务

    保存配置文件后,重启MongoDB服务以使更改生效
    sudo systemctl restart mongod
  7. 防火墙配置

    确保Ubuntu服务器的防火墙允许来自Windows的连接。可以使用以下命令开放MongoDB的默认端口27017
    sudo ufw allow 27017/tcp
    sudo ufw reload

(二)Windows客户端远程连接命令

  1. 使用MongoDB Shell

    打开命令提示符,使用以下命令连接到Ubuntu服务器上的MongoDB数据库
    mongo <Ubuntu服务器IP地址>:27017
  2. 使用MongoDB Compass

    • 打开MongoDB Compass,点击“+”号添加一个新的连接。

    • 在“Connection String”中输入Ubuntu服务器的IP地址和端口号(默认为27017),格式为mongodb://<IP地址>:27017

    • 点击“Connect”按钮连接到MongoDB服务器。如果一切配置正确,应该能够成功连接并看到数据库列表。

三、Redis安装及远程连接配置

(一)Ubuntu服务器端安装与配置

  1. 更新软件包列表

    sudo apt update
  2. 安装Redis服务

    sudo apt install redis-server
  3. 修改Redis配置文件

    1.编辑Redis的配置文件,允许远程连接。配置文件通常位于/etc/redis/redis.conf
    sudo vim /etc/redis/redis.conf
    2.找到bind 127.0.0.1,将其注释掉或修改为bind 0.0.0.0
    # bind 127.0.0.1
    bind 0.0.0.0
    3.保存并关闭文件。
  4. 重启Redis服务

    保存配置文件后,重启Redis服务以使更改生效
    sudo systemctl restart redis-server
  5. 防火墙配置

    确保Ubuntu服务器的防火墙允许来自Windows的连接。可以使用以下命令开放Redis的默认端口6379
    sudo ufw allow 6379/tcp
    sudo ufw reload

(二)Windows客户端远程连接命令

  1. 使用Redis-cli

    打开命令提示符,使用以下命令连接到Ubuntu服务器上的Redis数据库
    redis-cli -h <Ubuntu服务器IP地址> -p 6379
  2. 使用Redis Desktop Manager

    • 打开Redis Desktop Manager,点击“+”号添加一个新的连接。

    • 在“Name”中输入连接名称,例如“Ubuntu Redis”。

    • 在“Host”中输入Ubuntu服务器的IP地址。

    • 在“Port”中输入Redis的端口号(默认为6379)。

    • 点击“Save”保存连接配置。

    • 点击“Connect”按钮连接到Redis服务器。如果一切配置正确,应该能够成功连接并看到Redis的键值对数据。

四、安全性注意事项

  1. 使用强密码

    确保为远程用户设置强密码,避免使用容易被猜测的密码。
  2. 限制IP地址

    在创建远程用户时,尽量将'%'替换为特定的IP地址或IP段,以限制只有特定的IP地址可以连接到数据库。
  3. 使用VPN或SSH隧道

    在生产环境中,建议通过VPN或SSH隧道进行连接,以提高安全性。例如,可以通过以下命令使用SSH隧道连接到MySQL服务器
    ssh -L 3306:localhost:3306 user@ubuntu_server_ip
    然后在Windows客户端中,将“Hostname”设置为localhost,端口号设置为3306
  4. 防火墙规则

    确保防火墙规则只允许来自可信IP地址的连接。可以使用ufw命令来管理防火墙规则
    sudo ufw allow from <IP地址> to any port 3306
    sudo ufw allow from <IP地址> to any port 27017
    sudo ufw allow from <IP地址> to any port 6379
    sudo ufw reload

        通过以上详细步骤,你可以确保MySQL、MongoDB和Redis在Ubuntu服务器上正确安装和配置远程连接,并且从Windows客户端能够安全地访问这些数据库。希望这些信息对你有帮助!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/pingmian/94790.shtml
繁体地址,请注明出处:http://hk.pswp.cn/pingmian/94790.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

校园勤工俭学微信小程序的设计与实现:基于数字化服务生态的赋能体系构建

在高等教育普及化与数字化校园建设的双重驱动下&#xff0c;传统校园勤工俭学管理模式正面临深刻变革。当前高校勤工俭学工作普遍存在岗位匹配效率低下、过程管理粗放、数据孤岛严重等痛点——根据教育部全国学生资助管理中心2022年统计数据&#xff0c;全国普通高校共有约450万…

Apisix工作流程

是的,你的理解基本正确:当请求到达APISIX时,它会先根据请求的URI、Host、请求方法、 headers等信息匹配最合适的路由,然后执行路由关联的插件逻辑,最后转发到路由配置的上游服务。下面详细讲解APISIX处理请求的全链路及可能的情况。 一、请求全链路流程 APISIX处理请求的…

InnoDB存储引擎底层拆解:从页、事务到锁,如何撑起MySQL数据库高效运转(上)

目录 Page页** B树查询 如何加快记录的查询&#xff1f; 索引** 聚簇索引(主键) 二级索引(非主键) 联合索引——多列 bufferPool* Free链表 flush链表 Flush链表刷新方式有如下两种&#xff1a; LRU链表 针对LRU链表方案缺点的优化 redoLog* redo简单日志类型 redo复杂日志类型…

【人工智能99问】GPT4的原理是什么?(32/99)

【人工智能99问】GPT4的原理是什么&#xff1f;(32/99) 文章目录GPT-4简介一、结构与原理二、使用场景三、优缺点分析四、训练技巧与关键改进五、示例说明六、总结GPT-4简介 一、结构与原理 1. 架构设计 GPT-4基于Transformer解码器架构&#xff0c;核心改进包括&#xff1a;…

//Q是一个队列,S是一个空栈,实现将队列中的元素逆置的算法。

#include<stdio.h> #include<stdbool.h> #include<stdlib.h> #define Size 6 typedef struct SqNode//队列结点 {int data;struct SqNode* next; }LinkNode; typedef struct SqQueue//队列 {LinkNode* front, * rear; //头指针和尾指针 }LinkQueue; typedef …

毕马威 —— 公众对人工智能的信任、态度及使用情况调查

文章目录 前言 一、背景介绍 二、对人工智能的信任与接受度 三、人工智能的使用与认知情况 四、人工智能的益处与风险 五、人工智能的监管与治理 六、工作场所的人工智能应用 七、人工智能对工作的影响 八、学生对人工智能的应用 九、核心启示 1.新兴经济体在公众与员工人工智能…

基于Spring Session + Redis + JWT的单点登录实现

实现思路 用户访问受保护资源时&#xff0c;若未认证则重定向到认证中心认证中心验证用户身份&#xff0c;生成JWT令牌并存储到Redis认证中心重定向回原应用并携带令牌应用验证JWT有效性并从Redis获取会话信息用户在其他应用访问时&#xff0c;通过相同机制实现单点登录 代码…

微服务Eureka组件的介绍、安装、使用

微服务 Eureka 组件的介绍、安装与使用详解 在微服务架构中&#xff0c;服务注册与发现是至关重要的一环&#xff0c;而 Eureka 作为 Netflix 开源的服务注册中心&#xff0c;广泛应用于 Spring Cloud 微服务体系中。本文将带你全面了解 Eureka 的概念、安装及在 Spring Boot …

【PostgreSQL内核学习:通过 ExprState 提升哈希聚合与子计划执行效率(一)】

PostgreSQL内核学习&#xff1a;通过 ExprState 提升哈希聚合与子计划执行效率&#xff08;一&#xff09;引言背景补丁的意义补丁概述JIT & LLVM实际例子&#xff08;以 PostgreSQL 为例&#xff09;提交信息提交描述引入 ExprState 进行哈希计算&#xff1a;支持 JIT 编译…

web端播放flv视频流demo(flv.js的使用)

需求&#xff1a;原本是需要前端播放RTMP视频流的&#xff0c;但是现在的浏览器都不支持flash插件了&#xff0c;让用户安装flash插件也不现实&#xff0c;所以直接让后端将RTMP视频流转换成flv视频流给到前端进行播放。 直接上demo&#xff0c;直接就能播放&#xff0c;如果遇…

【拍摄学习记录】04-拍摄模式/曝光组合

曝光组合全自动半自动光圈优先手动挡【固定物体长时间不变时候、闪光灯时候、】手机上的光学变焦与数码变焦是不同的&#xff0c;使用档位推荐可以提升画质。手机夜景模式长曝光【车流轨迹、星轨】HDR 大光比【日落时候使用】专业模式&#xff0c;【感光度iso、快门可以调节】…

新liunx部署mysql过程问题

首先看下是什么发行版 cat /etc/os-release CentOS Linux 7 ################################## 使用 yum下载包 发现不行 源不行 那就换成阿里的 # 进入 yum 源配置目录 cd /etc/yum.repos.d/ # 备份所有默认 repo 文件&#xff08;以 CentOS 为例&#xff0c;其他系统…

Python 第三方库:Beautiful Soup(HTML/XML 解释提取)

Beautiful Soup 是一个 用于从 HTML 和 XML 文件中提取数据的 Python 第三方库。它为复杂的网页结构提供了简单易用的解析接口&#xff0c;尤其适合网页爬虫和数据提取任务。Beautiful Soup 提供树型结构访问、标签搜索、属性提取等功能&#xff0c;并支持多种解析器&#xff0…

使用STM32CubeMX使用CAN驱动无刷电机DJI3508

简介 文章为笔记性质 硬件包括 大疆C板 电机调速器C620 DJI3508电机 CAN知识介绍 CAN的概念 CAN是控制器区域网络&#xff08;Controller Area Network&#xff09;的缩写。CAN总线是一种适用于工业设备的高性能总线网络。说白了就是也就是一种通讯方式而已。 把多个设…

Wi-Fi 802.11s自组网/EasyMesh自组网/802.11ah物联网

一、前期调研结论 前面详细探讨了自组网和5G无线通信网络、WiFi无线通信网络的差异&#xff1a; 自组网 v.s 5G v.s WiFi-CSDN博客 从“分级道路”角度理解无线通信网络拓扑包括从当前工业应用场景具体案例了解终端无线通信网络&#xff1a; 5G无线通信网络场景&#xff08;…

【基于hyperledger fabric的教育证书管理系统】

教育证书管理系统 系统概述 项目背景 随着数字化转型的深入推进&#xff0c;教育证书作为个人学术成就和专业资质的重要凭证&#xff0c;在就业市场、高等教育和职业发展中扮演着关键角色。然而&#xff0c;传统教育证书管理体系面临着数据孤岛、证书伪造、验证流程繁琐以及跨机…

【Flask】测试平台开发,集成禅道

概述&#xff1a; 由于公司多数测试人员还是在使用禅道&#xff0c;为了方便&#xff0c;就将禅道直接集成在我们的测试平台中 一般可以有几种实现方法 调用禅道的API集成集成本地部署的禅道-可能有跨域问题&#xff0c;需要解决 由于我这里已经部署了一台本地的禅道系统&…

《UE5_C++多人TPS完整教程》学习笔记45 ——《P46 待机与跳跃(Idle And Jumps)》

本文为B站系列教学视频 《UE5_C多人TPS完整教程》 —— 《P46 待机与跳跃&#xff08;Idle And Jumps&#xff09;》 的学习笔记&#xff0c;该系列教学视频为计算机工程师、程序员、游戏开发者、作家&#xff08;Engineer, Programmer, Game Developer, Author&#xff09; St…

用html+js下拉菜单的demo,当鼠标点击后展开,鼠标点击别的地方后折叠

使用html js实现下拉菜单demo&#xff0c;因为copy的网站菜单功能失效&#xff0c;就需要自己写一个逻辑&#xff0c;点击其他区域折叠菜单&#xff0c;可以参考&#xff1a;<!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF…

OpenCV 核心技术:颜色检测与几何变换实战

在计算机视觉任务中&#xff0c;颜色空间转换和图像几何变换是两大基础且高频的操作 —— 前者用于精准分割特定颜色目标&#xff08;如交通信号灯、物体追踪&#xff09;&#xff0c;后者用于调整图像的尺寸、位置和视角&#xff08;如文档矫正、图像拼接&#xff09;。本文将…