当前位置: 首页 > 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…...

ES6从入门到精通:前言

ES6简介 ES6(ECMAScript 2015)是JavaScript语言的重大更新,引入了许多新特性,包括语法糖、新数据类型、模块化支持等,显著提升了开发效率和代码可维护性。 核心知识点概览 变量声明 let 和 const 取代 var&#xf…...

解锁数据库简洁之道:FastAPI与SQLModel实战指南

在构建现代Web应用程序时,与数据库的交互无疑是核心环节。虽然传统的数据库操作方式(如直接编写SQL语句与psycopg2交互)赋予了我们精细的控制权,但在面对日益复杂的业务逻辑和快速迭代的需求时,这种方式的开发效率和可…...

Objective-C常用命名规范总结

【OC】常用命名规范总结 文章目录 【OC】常用命名规范总结1.类名(Class Name)2.协议名(Protocol Name)3.方法名(Method Name)4.属性名(Property Name)5.局部变量/实例变量(Local / Instance Variables&…...

汽车生产虚拟实训中的技能提升与生产优化​

在制造业蓬勃发展的大背景下,虚拟教学实训宛如一颗璀璨的新星,正发挥着不可或缺且日益凸显的关键作用,源源不断地为企业的稳健前行与创新发展注入磅礴强大的动力。就以汽车制造企业这一极具代表性的行业主体为例,汽车生产线上各类…...

剑指offer20_链表中环的入口节点

链表中环的入口节点 给定一个链表,若其中包含环,则输出环的入口节点。 若其中不包含环,则输出null。 数据范围 节点 val 值取值范围 [ 1 , 1000 ] [1,1000] [1,1000]。 节点 val 值各不相同。 链表长度 [ 0 , 500 ] [0,500] [0,500]。 …...

linux 错误码总结

1,错误码的概念与作用 在Linux系统中,错误码是系统调用或库函数在执行失败时返回的特定数值,用于指示具体的错误类型。这些错误码通过全局变量errno来存储和传递,errno由操作系统维护,保存最近一次发生的错误信息。值得注意的是,errno的值在每次系统调用或函数调用失败时…...

LLM基础1_语言模型如何处理文本

基于GitHub项目:https://github.com/datawhalechina/llms-from-scratch-cn 工具介绍 tiktoken:OpenAI开发的专业"分词器" torch:Facebook开发的强力计算引擎,相当于超级计算器 理解词嵌入:给词语画"…...

BCS 2025|百度副总裁陈洋:智能体在安全领域的应用实践

6月5日,2025全球数字经济大会数字安全主论坛暨北京网络安全大会在国家会议中心隆重开幕。百度副总裁陈洋受邀出席,并作《智能体在安全领域的应用实践》主题演讲,分享了在智能体在安全领域的突破性实践。他指出,百度通过将安全能力…...

C# SqlSugar:依赖注入与仓储模式实践

C# SqlSugar:依赖注入与仓储模式实践 在 C# 的应用开发中,数据库操作是必不可少的环节。为了让数据访问层更加简洁、高效且易于维护,许多开发者会选择成熟的 ORM(对象关系映射)框架,SqlSugar 就是其中备受…...

【C++进阶篇】智能指针

C内存管理终极指南:智能指针从入门到源码剖析 一. 智能指针1.1 auto_ptr1.2 unique_ptr1.3 shared_ptr1.4 make_shared 二. 原理三. shared_ptr循环引用问题三. 线程安全问题四. 内存泄漏4.1 什么是内存泄漏4.2 危害4.3 避免内存泄漏 五. 最后 一. 智能指针 智能指…...