当前位置: 首页 > news >正文

在 Ubuntu 18.04 上安装 MySQL 5.7和MySQL 8

  • 1.Ubuntu安装MySQL 5.7
  • 2.Ubuntu安装MySQL 8

在 Ubuntu 18.04 上安装 MySQL 5.7,可以按照以下步骤操作:


1. 更新系统包列表

运行以下命令以确保系统包列表是最新的:

sudo apt update

2. 检查默认 MySQL 版本

Ubuntu 18.04 默认提供 MySQL 5.7 的版本。如果需要安装,请直接执行:

sudo apt install mysql-server

安装完成后,验证安装的 MySQL 版本:

mysql --version

如果显示的是 5.7.x,则表示已安装 MySQL 5.7,安装完成。如果安装的不是 5.7,请继续以下步骤。


3. 强制指定安装 MySQL 5.7

如果需要明确指定安装 MySQL 5.7,请使用以下命令:

sudo apt install mysql-server-5.7

4. 验证 MySQL 版本

安装完成后,运行以下命令检查 MySQL 是否安装成功以及版本是否为 5.7:

mysql --version

输出类似于以下内容,表示 MySQL 5.7 安装成功:

mysql  Ver 14.14 Distrib 5.7.x, for Linux (x86_64) using EditLine wrapper

5. 启动并配置 MySQL 服务

  1. 启动 MySQL 服务:
sudo systemctl start mysql
  1. 确保 MySQL 服务在系统启动时自动运行:
sudo systemctl enable mysql
  1. 运行 MySQL 安全配置向导,确保数据库安全性:
sudo mysql_secure_installation

根据提示执行以下操作:

  • 设置 MySQL root 用户的密码(如果安装时未设置)。
  • 删除匿名用户。
  • 禁用远程 root 登录(根据需要)。
  • 删除测试数据库。
  • 重新加载权限表。

6. 登录 MySQL

运行以下命令以登录 MySQL:

mysql -u root -p

输入安装时设置的 MySQL root 用户密码,即可成功登录。


7. (可选)调整 MySQL 配置文件

如果需要自定义 MySQL 配置,可以编辑配置文件:

sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf

完成后,重启 MySQL 服务使更改生效:

sudo systemctl restart mysql

8. 检查 MySQL 服务状态

运行以下命令确认 MySQL 服务是否正常运行:

sudo systemctl status mysql

输出类似以下内容,表示 MySQL 正在运行:

● mysql.service - MySQL Community ServerLoaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled)Active: active (running) since ...

通过上述步骤,你就可以在 Ubuntu 18.04 上成功安装并运行 MySQL 5.7!

在 Ubuntu 18.04 上安装 MySQL 8,可以按照以下步骤操作:


1. 更新系统包列表

运行以下命令以确保系统包列表是最新的:

sudo apt update

2. 安装 MySQL APT 仓库

Ubuntu 18.04 默认提供 MySQL 5.7 的版本。如果需要安装 MySQL 8,可以通过官方 MySQL APT 仓库进行安装。

  1. 下载 MySQL APT 配置包:
wget https://dev.mysql.com/get/mysql-apt-config_0.8.26-1_all.deb
  1. 安装 MySQL APT 配置包:
sudo dpkg -i mysql-apt-config_0.8.26-1_all.deb

在安装过程中,会弹出一个界面让你选择 MySQL 的版本:

  • 使用方向键选择 MySQL 8.0,按 Enter 确认。
  1. 更新包列表:
sudo apt update

3. 安装 MySQL 8

运行以下命令安装 MySQL:

sudo apt install mysql-server

安装过程中系统会提示设置 MySQL 的 root 用户密码,请设置一个安全的密码。


4. 验证 MySQL 版本

安装完成后,运行以下命令检查 MySQL 是否安装成功以及版本是否为 8:

mysql --version

输出类似于以下内容,表示 MySQL 8 安装成功:

mysql  Ver 8.0.x for Linux on x86_64 (MySQL Community Server)

5. 启动并配置 MySQL 服务

  1. 启动 MySQL 服务:
sudo systemctl start mysql
  1. 确保 MySQL 服务在系统启动时自动运行:
sudo systemctl enable mysql
  1. 运行 MySQL 安全配置向导,确保数据库安全性:
sudo mysql_secure_installation

根据提示执行以下操作:

  • 设置 MySQL root 用户的密码(如果安装时未设置)。
  • 删除匿名用户。
  • 禁用远程 root 登录(根据需要)。
  • 删除测试数据库。
  • 重新加载权限表。

6. 登录 MySQL

运行以下命令以登录 MySQL:

mysql -u root -p

输入安装时设置的 MySQL root 用户密码,即可成功登录。


7. (可选)调整 MySQL 配置文件

如果需要自定义 MySQL 配置,可以编辑配置文件:

sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf

完成后,重启 MySQL 服务使更改生效:

sudo systemctl restart mysql

8. 检查 MySQL 服务状态

运行以下命令确认 MySQL 服务是否正常运行:

sudo systemctl status mysql

输出类似以下内容,表示 MySQL 正在运行:

● mysql.service - MySQL Community ServerLoaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled)Active: active (running) since ...

通过上述步骤,你就可以在 Ubuntu 18.04 上成功安装并运行 MySQL 8!

相关文章:

在 Ubuntu 18.04 上安装 MySQL 5.7和MySQL 8

1.Ubuntu安装MySQL 5.72.Ubuntu安装MySQL 8 在 Ubuntu 18.04 上安装 MySQL 5.7,可以按照以下步骤操作: 1. 更新系统包列表 运行以下命令以确保系统包列表是最新的: sudo apt update2. 检查默认 MySQL 版本 Ubuntu 18.04 默认提供 MySQL 5.…...

第4章 Spring Boot自动配置

自动配置概述 SpringBoot的两大核心 Spring Boot 框架的两大核心特性可以概括为“启动器”(Starter)和“自动配置”(Auto-configuration)。 启动器(Starter): Spring Boot 提供了一系列的 Star…...

显存:存储,GPU:计算;Pipeline Parallelism(管道并行)

目录 显存:存储,GPU:计算 流水线切分策略:(数据并并,多头并行,单头MLP切片) 存储(显存)和计算(GPU)负载不均衡的问题 1,2,3,4,5指的计算任务(数据切分) 大方块代表GPU计算 黄色代表显存 解决办法:重计算和流水线切分策略 重计算策略: 流水线切分策略:…...

费曼路径积分简单示例

费曼路径积分简单示例 费曼路径积分是量子力学中的一种计算方法,它通过对所有可能路径的贡献进行积分,来计算粒子从一个点到另一个点的概率幅。与经典力学不同,经典力学中粒子沿着使作用量最小的路径运动,而在量子力学中&#xf…...

40分钟学 Go 语言高并发:【实战】并发安全的配置管理器(功能扩展)

【实战】并发安全的配置管理器(功能扩展) 一、扩展思考 分布式配置中心 实现配置的集中管理支持多节点配置同步实现配置的版本一致性 配置加密 敏感配置的加密存储配置的安全传输访问权限控制 配置格式支持 支持YAML、TOML等多种格式配置格式自动…...

麒麟安全增强-kysec

DAC: 自主访问控制是linux下默认的接入控制机制,通过对资源读、写、执行操作,保证系统安全 MAC:安全接入控制机制,由操作系统约束的访问控制,默认情况下,MAC不允许任何访问,用户可以自定义策略规则制定允许什么 ,从而避免很多攻击。 MAC强制访问控制常见的实现方式:…...

shell编程(8)

目录 一、until循环 示例 until 和 while 的区别 二、case语句 基本语法 示例 1. 简单的 case 语句 2. 使用通配符 3. 处理多个匹配 case 和 if 的比较 case 语句: if 语句: 三、基本函数 基本函数定义和调用 1. 定义一个简单的函数 2. …...

高级java每日一道面试题-2024年11月24日-JVM篇-说说对象分配规则?

如果有遗漏,评论区告诉我进行补充 面试官: 说说对象分配规则? 我回答: 在Java高级面试中,对象分配规则是一个核心考点,它涉及到JVM的内存管理、对象的创建和初始化等多个方面。以下是对Java对象分配规则的详细解释: 一、内存分配区域 J…...

进程间通信5:信号

引入 我们之前学习了信号量,信号量和信号可不是一个东西,不能混淆。 信号是什么以及一些基础概念 信号是一种让进程给其他进程发送异步消息的方式 信号是随时产生的,无法预测信号可以临时保存下来,之后再处理信号是异步发送的…...

性能测试及调优

一、性能测试介绍 1、什么叫做性能测试? (1)通过某些工具或手段来检测软件的某些指标是否达到了要求,这就是性能测试 (2)指通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指…...

实战基于LangChain和ChatGLM私有化部署聊天机器人

本文主要阐述了如何使用第二代6B模型进行对话训练,以及如何通过微调来提高大模型的性能。文中提到了在8501端口上启动第二代6B模型,并使用极简模板进行请求。与第一代模型相比,第二代6B模型具有更强的对话能力,并且可以通过微调来…...

利用adb工具安装卸载安卓平板(手机)软件

参考链接: 1、ADB 操作命令详解及用法大全 2、全面掌握Android调试工具箱:ADB与实用程序实战 平时使用小米手机没有感觉,miui系统做的确实好。最近买了个水货学习系统平板(主要看重硬件配置,性价比很高,但…...

基于docker进行任意项目灵活发布

引言 不管是java还是python程序等,使用docker发布的优势有以下几点: 易于维护。直接docker命令进行管理,如docker stop、docker start等,快速方便无需各种进程查询关闭。环境隔离。项目代码任何依赖或设置都可以基本独立&#x…...

Datatables:监听行内文本框,进行行内数据修改;计算行总和

一、监听行内文本框,进行行内数据修改 效果 修改数量、单价会自动计算金额(金额数量*单价) 实现 1、增加行的class 2、数据监听、修改数值 "initComplete": function() {// 监听数量和单价输入框的变化$(document).on(input, .…...

对于某些原型或UI软件的个人看法(2024/11)

由于我这几天,一边敲代码,一边进行页面布局设计与编码,发现可能就一个卡片,我都得调很久样式,觉得这样改很累也没效率,页面也不是很美观。所以我想到了ui设计,我可以先进行ui设计,然…...

嵌入式硬件实战提升篇(二)PCB高速板设计 FPGA核心板带DDR3 PCB设计DDR全面解析

引言:设计一款高速板,供读者学习,FPGA核心板,带一颗DDR3内存,FPGA型号:XC6SLX16-2FTG256C。 随着嵌入式硬件技术的快速发展,高速板设计逐渐成为嵌入式系统设计中的核心技术之一。高速板的设计要…...

亚信安全携手飞书“走近先进” 与保隆科技探索制造业数字化转型

亚信安全携手飞书组织举办“走近先进”活动。近日活动“走近”了中国汽车供应链百强、上海市制造业五十强企业——上海保隆汽车科技股份有限公司(以下简称“保隆科技”)。活动围绕“突破桎梏 加速升级”的主题,聚焦企业数字化转型的核心议题&…...

【C++篇】排队的艺术:用生活场景讲解优先级队列的实现

文章目录 须知 💬 欢迎讨论:如果你在学习过程中有任何问题或想法,欢迎在评论区留言,我们一起交流学习。你的支持是我继续创作的动力! 👍 点赞、收藏与分享:觉得这篇文章对你有帮助吗&#xff1…...

VTK的基本概念(一)

文章目录 三维场景的基本要素1.灯光2.相机3.颜色4.纹理映射 三维场景的基本要素 1.灯光 在三维渲染场景中,可以有多个灯光的存在,灯光和相机是三维渲染场景的必备要素,如果没有指定的话,vtkRenderer会自动创建默认的灯光和相机。…...

error LNK2001: 无法解析的外部符号 memcpy strcmp strlen

0>LIBMY_static.lib(pixdesc.obj) : error LNK2001: 无法解析的外部符号 __imp_abort 10>LIBMY_static.lib(random_seed.obj) : error LNK2001: 无法解析的外部符号 __imp_abort 10>postprocess.obj : error LNK2001: 无法解析的外部符号 __imp_abort 10>LIBMY_sta…...

19c补丁后oracle属主变化,导致不能识别磁盘组

补丁后服务器重启,数据库再次无法启动 ORA01017: invalid username/password; logon denied Oracle 19c 在打上 19.23 或以上补丁版本后,存在与用户组权限相关的问题。具体表现为,Oracle 实例的运行用户(oracle)和集…...

golang循环变量捕获问题​​

在 Go 语言中,当在循环中启动协程(goroutine)时,如果在协程闭包中直接引用循环变量,可能会遇到一个常见的陷阱 - ​​循环变量捕获问题​​。让我详细解释一下: 问题背景 看这个代码片段: fo…...

ServerTrust 并非唯一

NSURLAuthenticationMethodServerTrust 只是 authenticationMethod 的冰山一角 要理解 NSURLAuthenticationMethodServerTrust, 首先要明白它只是 authenticationMethod 的选项之一, 并非唯一 1 先厘清概念 点说明authenticationMethodURLAuthenticationChallenge.protectionS…...

QT3D学习笔记——圆台、圆锥

类名作用Qt3DWindow3D渲染窗口容器QEntity场景中的实体(对象或容器)QCamera控制观察视角QPointLight点光源QConeMesh圆锥几何网格QTransform控制实体的位置/旋转/缩放QPhongMaterialPhong光照材质(定义颜色、反光等)QFirstPersonC…...

深入理解Optional:处理空指针异常

1. 使用Optional处理可能为空的集合 在Java开发中,集合判空是一个常见但容易出错的场景。传统方式虽然可行,但存在一些潜在问题: // 传统判空方式 if (!CollectionUtils.isEmpty(userInfoList)) {for (UserInfo userInfo : userInfoList) {…...

关于easyexcel动态下拉选问题处理

前些日子突然碰到一个问题,说是客户的导入文件模版想支持部分导入内容的下拉选,于是我就找了easyexcel官网寻找解决方案,并没有找到合适的方案,没办法只能自己动手并分享出来,针对Java生成Excel下拉菜单时因选项过多导…...

前端中slice和splic的区别

1. slice slice 用于从数组中提取一部分元素,返回一个新的数组。 特点: 不修改原数组:slice 不会改变原数组,而是返回一个新的数组。提取数组的部分:slice 会根据指定的开始索引和结束索引提取数组的一部分。不包含…...

uniapp 实现腾讯云IM群文件上传下载功能

UniApp 集成腾讯云IM实现群文件上传下载功能全攻略 一、功能背景与技术选型 在团队协作场景中,群文件共享是核心需求之一。本文将介绍如何基于腾讯云IMCOS,在uniapp中实现: 群内文件上传/下载文件元数据管理下载进度追踪跨平台文件预览 二…...

Modbus RTU与Modbus TCP详解指南

目录 1. Modbus协议基础 1.1 什么是Modbus? 1.2 Modbus协议历史 1.3 Modbus协议族 1.4 Modbus通信模型 🎭 主从架构 🔄 请求响应模式 2. Modbus RTU详解 2.1 RTU是什么? 2.2 RTU物理层 🔌 连接方式 ⚡ 通信参数 2.3 RTU数据帧格式 📦 帧结构详解 🔍…...

沙箱虚拟化技术虚拟机容器之间的关系详解

问题 沙箱、虚拟化、容器三者分开一一介绍的话我知道他们各自都是什么东西,但是如果把三者放在一起,它们之间到底什么关系?又有什么联系呢?我不是很明白!!! 就比如说: 沙箱&#…...