如何在 Ubuntu 22.04 上安装 MySQL

简介

MySQL 是开发人员最常用的数据库之一,因为它在功能、性能和易用性之间取得了平衡,提供了高性能、可扩展性、安全性、灵活性和低成本。在本教程中,我们将向您展示如何在七个步骤中在 Ubuntu 22.04 上安装 MySQL。我们包括安装、配置、保护 MySQL 以及创建新用户。

什么是 MySQL?

MySQL 是最流行的开源数据库管理系统之一。它是著名的 LAMP(Linux、Apache、MySQL、PHP)堆栈的组成部分,并为主要的 Web 应用程序和平台提供了近二十年的支持。

此开源数据库管理系统带有多个存储引擎,包括事务安全(符合 ACID)的 InnoDB 引擎和占用空间更小的 MyISAM,后者通常用于只读情况。MySQL 还支持复制,可用于长距离数据分发、数据安全和扩展架构。

接下来,我将一步一步教大家如何进行安装和部署!!

准备工作

服务器准备

必要前提:

  • 一个充满求知欲的大脑。
  • 一台 Linux 服务器(推荐腾讯云、阿里云或雨云等)。

我将以 雨云 为例,带大家创建一台自己的云服务器,以便学习本篇文章的内容。

注册链接: https://rainyun.ivwv.site

创建雨云服务器

以下步骤仅供参考,请根据实际需求选择配置。

  • 点击 云产品云服务器立即购买
  • 选择距离你较近的区域,以保证低延迟。

  • 按照自己需求选择配置,选择Ubuntu 22.04 版本,按照自己需求是否预装Docker。
  • 最后按照提示进行购买。
  • 购买后等待机器部署完毕,点击刚刚创建好的服务器,进入管理面板,找到远程连接相关信息。

  • 我们使用 PowerShell 进行 SSH 远程连接到服务器,Win+R 打开运行窗口,输入 powershell 后点击确定。

  • 输入 ssh root@你的服务器IP 例如 ssh root@154.9.227.239 回车后,首次需要输入 yes,再次回车后即可登录服务器。

  • 到此为止,我们的云服务器就远程连接上了。

开始部署

第一步:在 Ubuntu 上安装 MySQL 服务器

首先,让我们 更新软件包列表 并升级它们:

sudo apt update
sudo apt upgrade

系统升级后,我们可以安装 Ubuntu 提出的最新 MySQL。

sudo apt install mysql-server -y

请注意,安装的软件包是 mysql-server。这将安装 MySQL 服务器和客户端。命令末尾的 -y 允许我们通过自动回答安装程序来继续安装。

第二步:启动 MySQL 服务器

现在我们已经安装了 MySQL,我们将使用以下命令启动服务:

sudo service mysql start

现在,我们检查服务的状态:

sudo service mysql status

如我们所见,MySQL 现在正在运行。

第三步:设置初始 MySQL root 密码

默认情况下,MySQL 的 root 帐户没有密码。我们现在将设置一个。这是一个很好的安全做法,也是使用 MySQL 安全安装脚本之前所必需的。

让我们首先使用 MySQL 客户端连接到数据库:

sudo mysql

现在我们已连接,我们可以使用以下命令为 root 帐户设置密码:

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'mypassword';

设置密码后,MySQL 客户端将无法再仅使用 sudo mysql 命令连接。

第四步:保护 MySQL 服务器

由于数据库是应用程序的关键部分,因此您需要保护它。MySQL 通过提供 mysql_secure_installation 命令来帮助您做到这一点。

我们现在将启动安全安装脚本:

sudo mysql_secure_installation

下面的屏幕截图显示了 MySQL 提出的不同问题。根据您的需要填写和调整:

让我们使用在安全安装过程中设置的新 root 密码重新连接到服务器。

sudo mysql -u root -p

您现在应该看到 MySQL 提示:

第五步:添加新用户

安装现已完成。为了将任何应用程序连接到您的数据库,建议创建一个数据库和一个特定用户,并授予该用户访问此数据库的权限。这使我们能够更好地管理数据。

我们将首先创建用户:

CREATE USER 'didier'@'localhost' IDENTIFIED WITH mysql_native_password BY '%$HmbKe#XeVtn8i%mX$Ha&v2on%crUWc';

请注意,用户只能通过“localhost”连接到数据库。如果您希望用户能够从任何地方连接,请使用 % 而不是 localhost。请注意,这是不安全的,因为没有基于客户端连接位置的限制。

然后,我们刷新所有权限。这将刷新 MySQL,并允许我们立即使用该用户。

flush privileges;

第六步:创建 MySQL 数据库并授予权限

我们现在继续使用以下命令创建一个名为 myapp 的 MySQL 数据库:

 create database myapp;

然后,我们授予先前创建的用户对此数据库的所有权限:

grant all privileges on myapp.* to 'didier'@'localhost';

您现在可以对数据库执行任何操作。

第七步:停止并重新启动 MySQL

在管理应用程序时,您需要停止或重新启动 MySQL 数据库。

使用以下命令停止 MySQL:

sudo service mysql stop

要重新启动 MySQL,请使用此命令:

sudo service mysql restart

相关链接
雨云 - 新一代云服务提供商: https://rainyun.ivwv.site
我的博客:https://blog.ivwv.site

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

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

相关文章

使用Dynadot API确定当前是否有正在执行中的请求

前言 Dynadot是通过ICANN认证的域名注册商,自2002年成立以来,服务于全球108个国家和地区的客户,为数以万计的客户提供简洁,优惠,安全的域名注册以及管理服务。 Dynadot平台操作教程索引(包括域名邮箱&…

02、服务器的分类和开发项目流程

硬件介绍 1、服务器分类2.开发流程 1、服务器分类 1.1 服务器分类 1u服务器(u表示服务器的厚度) 1U4.45cm; 4u服务器(u表示服务器的厚度) , 服务器有两个电源模块,接在不同的电源,…

[创业之路-199]:《华为战略管理法-DSTE实战体系》- 3 - 价值转移理论与利润区理论

目录 一、价值转移理论 1.1. 什么是价值? 1.2. 什么价值创造 (1)、定义 (2)、影响价值创造的因素 (3)、价值创造的三个过程 (4)、价值创造的实践 (5&…

后摩尔定律时代,什么将推动计算机性能优化的发展?

在摩尔定律时代,每两年芯片上的晶体管数量就会翻一番,这一看似不可避免的趋势被称为摩尔定律,它极大地促进了计算机性能的提高。然而,硅基晶体管不可能一直小下去,半导体晶体管的微型化推动了计算机性能的提升&#xf…

LeetCode:144.前序遍历

跟着carl学算法,本系列博客仅做个人记录,建议大家都去看carl本人的博客,写的真的很好的! 代码随想录 LeetCode:144. 二叉树的前序遍历 给你二叉树的根节点 root ,返回它节点值的 前序 遍历。 示例 1&#x…

pdf文件中的表格无损提取方案(pdf转Excel),非OCR

非OCR方案,基于java: aspose 21.11版本(网上有破解方法,或者参考我另外一篇文章) 转换pdf(含表格)为excel文件,然后可以使用poi对得到的excel文件进行微调。 但是上述方案&#x…

第十七章:反射+设计模式

一、反射 1. 反射(Reflection):允许在程序运行状态中,可以获取任意类中的属性和方法,并且可以操作任意对象内部的属 性和方法,这种动态获取类的信息及动态操作对象的属性和方法对应的机制称为反射机制。 2. 类对象 和 类的对象(实…

【Linux】结构化命令:for命令

1、基本介绍 for循环假定各个值之间是以空格、制表符或换行符分隔的,因为特殊的环境变量IFS(internal field separator,内部字段分隔符),默认情况下,它会将这三者视为字段分隔符。 格式: for v…

Nginx(Linux之Ubuntu)

1.1.什么是Nginx Nginx(发音为"engine x")是由俄罗斯开发者Igor Sysoev创建的一款轻量级、高性能的Web服务器。它首次发布于2004年,如今已成为全球最受欢迎的Web服务器之一。Nginx以其卓越的性能和灵活性而闻名,适用于…

vue3+TS+vueX的记录

要求:在页面中使用输入框输入回车后将数据保存到vuex中的数组list中 list为一个数组 内部三个属性为 id value status id为时间戳 value为string 输入的字符串 status为定义的三种状态 待办 在办 完成 1、创建仓库 将 仓库拆分 import { createStore } fro…

【图像分类实用脚本】数据可视化以及高数量类别截断

图像分类时,如果某个类别或者某些类别的数量远大于其他类别的话,模型在计算的时候,更倾向于拟合数量更多的类别;因此,观察类别数量以及对数据量多的类别进行截断是很有必要的。 1.准备数据 数据的格式为图像分类数据集…

Javascript-web API-day02

文章目录 01-事件监听02-点击关闭广告03-随机点名案例04-鼠标经过或离开事件05-可点击的轮播图06-小米搜索框07-键盘类型事件08-键盘事件-发布评论案例09-focus选择器10-评论回车发布11-事件对象12-trim方法13-环境对象14-回调函数15-tab栏切换 01-事件监听 <!DOCTYPE html…

c语言-------循环结构

基本概念 循环结构是C语言中一种重要的程序控制结构&#xff0c;它允许程序在满足一定条件的情况下&#xff0c;反复执行一段代码。这可以避免重复编写相似的代码&#xff0c;提高代码的效率和可读性。 while循环 语法格式 while (条件表达式) { 循环体语句; } 执行流程 首先判…

Centos创建共享文件夹拉取文件

1.打开VMware程序&#xff0c;鼠标右检你的虚拟机&#xff0c;打开设置 2.点击选项——共享文件夹——总是启用 点击添加&#xff0c;设置你想要共享的文件夹在pc上的路径&#xff08;我这里已经添加过了就不加了&#xff09; 注意不要中文&#xff0c;建议用share&#xff0c…

SpringBoot项目Jar包使用systemctl运行

1. 前言 SpringBoot项目打成jar包后&#xff0c;可以直接使用 java -jar xxx.jar 启动。但是为了方便启动和停止服务&#xff0c;通常我们会写两个脚本&#xff0c;分别是启动脚本 start.sh 和 停止脚本 shutdown.sh&#xff08;这两个脚本内容我们下文会实现&#xff09;&…

计算机网络-L2TP VPN基础概念与原理

一、概述 前面学习了GRE和IPSec VPN&#xff0c;今天继续学习另外一个也很常见的VPN类型-L2TP VPN。 L2TP&#xff08;Layer 2 Tunneling Protocol&#xff09; 协议结合了L2F协议和PPTP协议的优点&#xff0c;是IETF有关二层隧道协议的工业标准。L2TP是虚拟私有拨号网VPDN&…

踩准智能汽车+机器人两大风口,速腾聚创AI+机器人应用双线爆发

日前&#xff0c;RoboSense速腾聚创交出了一份亮眼的Q3财报。受到多重利好消息影响&#xff0c;其股价也应势连续大涨。截止12月9日发稿前&#xff0c;速腾聚创股价近一个月内累计涨幅已超88%。 财务数据方面&#xff0c;速腾聚创在今年前三季度实现总收入约11.3亿元&#xff0…

使用Idea自带的git功能进行分支合并

文章目录 1.背景描述2.分支切换3.分支合并的具体操作4.将在local环境下&#xff0c;从dev合并到qas分支上的代码&#xff0c;推送到远端 1.背景描述 目前在开发的当前项目有四个分支&#xff0c;master(主分支)、pre(预生产分支)、qas(测试分支)、dev(开发分支)&#xff1b; …

EE308FZ_Sixth Assignment_Beta Sprint_Sprint Essay 3

Assignment 6Beta SprintCourseEE308FZ[A] — Software EngineeringClass Link2401_MU_SE_FZURequirementsTeamwork—Beta SprintTeam NameFZUGOObjectiveSprint Essay 3_Day5-Day6 (12.15-12.16)Other Reference1. WeChat Mini Program Design Guide 2. Javascript Style Guid…

凯酷全科技抖音电商服务的卓越践行者

在数字经济蓬勃发展的今天&#xff0c;电子商务已成为企业增长的新引擎。随着短视频平台的崛起&#xff0c;抖音作为全球领先的短视频社交平台&#xff0c;不仅改变了人们的娱乐方式&#xff0c;也为品牌和商家提供了全新的营销渠道。厦门凯酷全科技有限公司&#xff08;以下简…