Ubuntu22.04 安装 mysql8,redis7,MongoDB6

news2024/9/25 21:26:16

服务器的准备

  1. 我的服务器是在腾讯云租的,所以服务器的apt源都是默认配好的,没配好的自行网上查找apt源配置。
  2. 本文同样适用于Ubuntu 22,20。Ubuntu18亦可参考。
  3. 云服务器一般防火墙未开放端口访问,请自行配置,否则后续远程访问不了:
    mysql:3306 redis:6379 MongoDB:27017

更新所有源

sudo apt-get clean all  
sudo apt-get update
sudo apt upgrade -y  // 这一步按需。会将所有依赖包都更新到最新,慎重
最后再最好reboot一下

修改一个进程可以拥有的VMA(虚拟内存区域)的数量(mongodb 需要)

查看当前值
sudo sysctl -a|grep vm.max_map_count
修改:
sudo vim /etc/sysctl.conf
在下面添加一行:
vm.max_map_count=262144
重新加载配置:
sudo sysctl -p
查看是否生效
sudo sysctl -a|grep vm.max_map_count

安装MySQL8

参考文章:https://blog.csdn.net/weixin_927326/article/details/127654545

sudo apt install -y  mysql-server

设置开机自启动:

sudo systemctl enable mysql

设置mysql账号密码以及远程访问权限

进入mysql

 sudo mysql -uroot

设置root用户密码:

alter user 'root'@'localhost' identified with mysql_native_password by '你的密码';

然后退出mysql:exit,重新登录mysql: mysql -u root -p

选择数据库:
use mysql;
select user,host from user;

# 修改root的host为% 即无论在哪台主机上都能够登陆
update user set host='%' where user='root' and host='localhost';

# 修改加密规则
alter user 'root'@'%' identified with mysql_native_password by '你的密码';

# 刷新权限
flush privileges;

退出mysql:exit


# 开启远程连接
sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
#找到下面这个参数,注释掉或者改为0.0.0.0
# bind-address = 127.0.0.1

# 退出重启
sudo systemctl restart mysql #重启mysql服务

然后远程连接一下,我用Navicat
在这里插入图片描述
测试连接成功。

安装redis7

由于Ubuntu软件库默认只包括redis5,所以安装时麻烦点,不能直接安装。
需要添加下载库,下面的命令把所有步骤都包含了,全部复制就可以安装:
来源官方文档: https://redis.io/docs/getting-started/installation/install-redis-on-linux/
下面是官网搬来的内容,直接全部复制运行即可:

curl -fsSL https://packages.redis.io/gpg | sudo gpg --dearmor -o /usr/share/keyrings/redis-archive-keyring.gpg

echo "deb [signed-by=/usr/share/keyrings/redis-archive-keyring.gpg] https://packages.redis.io/deb $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/redis.list

sudo apt-get update
sudo apt-get install redis

启动redis:

sudo systemctl start redis-server

这里可能会报错:

// redis服务被隐藏
Failed to start redis.service: Unit redis.service is masked.

解除隐藏:

sudo systemctl unmask  redis-server.service

然后重新启动:

sudo systemctl start redis-server
sudo systemctl status redis-server

状态正常则安装成功。

设置开机自启动:

sudo systemctl enable redis-server

启动远程访问和访问控制

编辑配置文件

sudo vim /etc/redis/redis.conf

使用搜索,输入 /bind 后回车,然后按N键,找到:
在这里插入图片描述

将地址改成如下
bind 0.0.0.0 -::1

按esc退出编辑,继续搜索/requirepass,操作同上,找到如下:
在这里插入图片描述

后面的是密码
requirepass 你的密码

然后保存退出。
重启redis使配置生效:

sudo systemctl restart redis-server
sudo systemctl status redis-server

然后用远程客户端连接试试看(我用的another redis desktop manager):
在这里插入图片描述

连接成功则安装完成。

MongoDB 安装

参考资料,官方文档:
安装mongo :https://www.mongodb.com/docs/manual/tutorial/install-mongodb-on-ubuntu/

添加秘钥,正常会返回ok:

wget -qO - https://www.mongodb.org/static/pgp/server-6.0.asc | sudo apt-key add -

创建列表文件:

注意区分系统版本

// Ubuntu 22.0
echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu jammy/mongodb-org/6.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-6.0.list

// Ubuntu 20.0
echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/6.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-6.0.list

// Ubuntu18.0
echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/6.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-6.0.list

重新加载本地包数据,并安装MongoDB社区版:

sudo apt-get update;
sudo apt-get install -y mongodb-org

启动MongoDB并验证是否成功:

sudo systemctl start mongod
sudo systemctl status mongod 

设置开机自启动:

sudo systemctl enable mongod

启动密码访问

参考文档:https://www.mongodb.com/docs/manual/tutorial/configure-scram-client-authentication/
进入mongo

mongosh

切换数据库

use admin

创建一个有密码的管理员角色

db.createUser(
  {
    user: "myUserAdmin",
    pwd: "你的密码", 
    roles: [
      { role: "userAdminAnyDatabase", db: "admin" },
      { role: "readWriteAnyDatabase", db: "admin" }
    ]
  }
)

输入exit退出mongo,然后编辑mongo的配置文件,启用权限控制:

sudo vim /etc/mongod.conf

找到security,去掉#号,并添加authorization: enabled

security:
    authorization: enabled

将#号去掉,然后保存退出。

重启mongo使配置生效,并验证:

sudo systemctl restart mongod
sudo systemctl status mongod

使用账号密码登录测试:

mongosh   --authenticationDatabase  "admin" -u "myUserAdmin" -p

PS:服务器中,即使设置了密码,依然能使用mongosh直接进入数据库。不过使用账号密码也能正常登录,就说明是成功开启了密码验证。

启动远程连接

默认只允许本地连接
编辑mongo的配置文件,启用权限控制:

sudo vim /etc/mongod.conf

ip改成如下即可。

net:
  port: 27017
  bindIp: 0.0.0.0

重启mongo使配置生效,并验证:

sudo systemctl restart mongod
sudo systemctl status mongod

使用studio 3T连接数据库:
在这里插入图片描述

在这里插入图片描述
点击左下角“Test connection”
在这里插入图片描述
表示成功,至此mongo安装完成。

PS:再某些时候,重启mongo服务会起不来,报错中会提示到这个文件:/tmp/mongodb-27017.sock,具体的问题没有截图下来。如果遇到该问题,可以直接删除改文件再次启动服务:

sudo rm /tmp/mongodb-27017.sock

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

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

相关文章

【unity游戏制作-mango的冒险】-4.场景二的镜头和法球特效跟随

👨‍💻个人主页:元宇宙-秩沅 hallo 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅! 本文由 秩沅 原创 收录于专栏:unity游戏制作 ⭐mango的冒险场景二——镜头和法球特效跟随⭐ 文章目录⭐mango的冒险场景二——镜…

【2023蓝桥杯】枚举专项题笔记

【枚举】卡片小蓝有很多数字卡片,每张卡片上都是数字 0 到 9。小蓝准备用这些卡片来拼一些数,他想从 1开始拼出正整数,每拼一个,就保存起来,卡片就不能用来拼其它数了。小蓝想知道自己能从 1拼到多少。例如&#xff0c…

JVM垃圾回收器概述

Serial串行回收 Serial收集器是最基本、历史最悠久的垃圾收集器了。JDK1.3之前回收新生代唯一的选择。 Serial收集器作为HotSpot中client模式下的默认新生代垃圾收集器。 Serial收集器采用复制算法、串行回收和"stop-the-World"机制的方式执行内存回收。 除了年轻…

【Redis】概述环境搭建(一)

🚗Redis学习起始站~ 🚩本文已收录至专栏:数据库学习之旅 👍希望您能有所收获 一.初识Redis (1) 概述 Redis诞生于2009年全称是Remote Dictionary Server 远程词典服务器,是一个基于内存的键值型NoSQL数据库。这里有两…

数字IC笔试题---千题解,量大管饱,图文并茂

前言:出笔试题汇总,是为了总结秋招可能遇到的问题,做题不是目的,在做题的过程中发现自己的漏洞,巩固基础才是目的。所有题目结果和解释由笔者给出,答案主观性较强,若有错误欢迎评论区指出&#…

es8集群模式部署

准备3台机器 192.168.1.41 192.168.1.42 192.168.1.43因为es集群有几个节点,所以我对应node1,node2,node3.这几个名称并不是主机名,而是es节点名称 2. 开始部署,基础配置 (三台都做) systemctl stop firewalld syste…

【数据库】SQL语句

第三章 SQL SQL(structured Query Language) SQL概述 SQL特点 综合统一。高度非过程化。面向集合的操作方式。以同一种语法结构提供多种使用方式。语言简洁易学易用。 主要版本 SQL-89SQL-92 ,SQL2SQL-99 ,SQL3 数据库结构 SQL语言是集DDL、DML和DCL于一体的数据库语言…

网安入门,这篇文章足够了(内含海量资料)

随着新一轮科技和产业变革加速演进,人工智能、物联网、大数据、5G等新兴技术在成为经济社会发展的助推器的同时,也让网络空间变得更加复杂。全球范围内网络安全事件日益增加,网络安全的重要性日渐凸显。 “我国网络空间安全人才年培养规模在…

STM32——窗口看门狗

什么是窗口看门狗? 窗口看门狗用于监测单片机程序运行时效是否精准,主要检测软件异常,一般用于需要精准检测 程序运行时间的场合。 窗口看门狗的本质是一个能产生系统复位信号和提前唤醒中断的6位计数器。 产生复位条件: 当递减…

CLion开发图书管理系统项目 (c++ + MySQL实现)

项目仓库 :传送门 需求分析 当下市场日益激烈的竞争迫使图书企业采用一种新的管理方式来加快图书管理操作,而计算机技术的发展为图书管理注入了新的生机。通过调查市场,一款合格的图书管理系统必须具备以下三个特点: 能够对图书…

注解原理剖析与实战

一、注解及其原理 1.注解的基本概念 注解,可以看作是对 一个类/方法的一个扩展的模版,每个类/方法按照注解类中的规则,来为类/方法注解不同的参数,在用到的地方可以得到不同的类/方法中注解的各种参数与值。 从JDK5开始&#xff…

【必学】最流行的云原生监控解决方案:Prometheus+Grafana

文章目录一、Prometheus和Grafana简介1.1、Prometheus是最受欢迎的云原生监控方案之一1.2、Grafana是最流行的开源可视化平台二、Prometheus的优势三、Prometheus架构原理四、Prometheus和Grafana安装部署一、Prometheus和Grafana简介 1.1、Prometheus是最受欢迎的云原生监控方…

如何进行单元测试

前言单元测试是指对软件中最小可测单元进行检查和验证;c语言中单元指一个函数,java中指一个类。图形化软件中可以指一个窗口或者一个菜单。总的来说,单元就是认为规定最小的被测试模块。1.1单元测试对我们开发程序有什么好处首先是一个前端单…

react: input 输入框 中文onChange事件异常问题 对input输入进行防抖处理

当我们使用Input时,我们可能会遇到一个问题,比如需要对用户输入的内容进行搜索时,当用户处于中文输入时,明明没有对内容进行确认,为什么会触发了onChange事件呢?比如以下场景,中文一边输入另外一…

机器学习知识总结 —— 20.使用朴素贝叶斯进行数据分类

文章目录准备基础数据计算先验概率计算条件概率预测分布验证结果作为一种监督学习分类方法,在上一章中我们已经介绍过它的数理原理。现在我们开始来实现一个简单的朴素贝叶斯分类的算法,这样我们能更好的理解它是怎么运作的。 准备基础数据 首先还是有…

加密流量专栏总览

文章目录加密流量专栏1. 原理篇2. 模型篇3. 文章分类总结3.1 研究方向3.2 特征提取3.3 机器学习模型改进3.4 深度学习模型改进3.5 其他模型改进3.7 实时检测3.8 概念漂移检索论文的方法加密流量专栏 1. 原理篇 原理: 会话、流、数据包之间的关系。 流:…

【离线数仓-4-数据仓库设计-分层规划构建流程】

离线数仓-4-数据仓库设计-分层规划&构建流程离线数仓-4-数据仓库设计-分层规划&构建流程1.数据仓库分层规划2.数据仓库构建流程1.数据调研1.业务调研2.需求分析3.总结2.明确数据域3.构建业务总线矩阵&维度模型设计4.明确统计指标1.指标体系相关概念1.原子指标2.派生…

【渝偲医药】DSPE-PEG-RGD;磷脂聚乙二醇多肽试剂级简介

DSPE-PEG-RGD、 二硬脂酰基磷脂酰乙醇胺-聚乙二醇-多肽、磷脂PEG多肽 英文名称: 1,2-Distearoyl-sn-Glycero-3-Phosphoethanolamine-PEG- RGD 溶剂:可溶解在水中和大多数有机溶剂中 外观:白色粉末 用途:用于链接带有链霉亲和素或其他的基团的分子 分子量(PEG ):2000、3400、…

那些开发过程中需要遵守的开发规范

入职公司三天,没干啥其他活,基本在配置本地环境和阅读相关文档。技术方面公司基本用的是主流的技术体系,入职后需要先阅读阿里的开发规范和其他的一些产研文档。今天整理一些平时需要关注的阿里规约和数据库开发规范,方便今后在开…

TatukGIS Developer Kernel for .NET

TatukGIS Developer Kernel for .NET 用于.NET的TatukGIS开发人员内核的强大功能: 打开、创建、编辑、保存和导出矢量、图片和网格的过程,包括类似于数据库的格式。 扩展属性、北箭头、比例和其他视觉控制也从TatukGIS编辑器/查看器商品中显示给用户开发…