如何在 Ubuntu 24.04 LTS Linux 上安装 MySQL 服务器
liuian 2025-08-02 19:27 1 浏览
如何在 Ubuntu 24.04 LTS Linux 上安装 MySQL 服务器
MySQL(全称为 My Structured Query Language)是全球最流行的开源关系型数据库管理系统之一。它在 Ubuntu 24.04 LTS Linux 服务器上的安装,可以让用户为各种 Web 应用程序(如 WordPress、phpBB、PrestaShop、WooCommerce、SugarCRM、JIRA 等)创建数据库,以存储这些应用程序生成的数据。MySQL 的开源许可、稳定性、性能、可扩展性、灵活性、兼容性、易用性和管理便利性是其广受欢迎的原因。此外,MariaDB 是 MySQL 的一个分支。
安装 MySQL 所需的条件:
- Ubuntu 系统(24.04、23.04、22.04 或 20.04)。
- 具有 sudo 权限或 root 访问权限。
- 稳定的互联网连接。
第一步:更新 Ubuntu 24.04 系统
在你的 Ubuntu 桌面或服务器上,打开命令终端并运行系统更新命令,以刷新系统仓库缓存并安装现有软件包的最新版本。
sudo apt update && sudo apt upgrade
第二步:在 Ubuntu 24.04 上安装 MySQL 服务器
在 Ubuntu 24.04 上安装 MySQL 服务器非常简单,因为配置该数据库服务器的软件包直接通过 Ubuntu 的默认仓库提供,我们可以使用 APT 包管理器获取。可安装的 MySQL 版本为 8.x,以下是安装命令:
sudo apt install mysql-server
验证安装:
完成 MySQL 安装命令后,我们可以通过检查其版本来确认它已在我们的系统上可用。你应该会看到类似以下输出:“mysql Ver 8.0.42-0ubuntu0.24.04.1 for Linux on x86_64 ((Ubuntu))”。
mysql --version
第三步:启动并保护 MySQL
MySQL 服务器服务在安装完成后会自动启动,因此让我们检查其状态。
sudo systemctl status mysql --no-pager -l
如果它尚未启动,请运行以下命令以在 Ubuntu 24.04 上启动并启用 MySQL 服务器。
sudo systemctl enable --now mysql
保护 MySQL 安装:
为了提高 MySQL 数据库实例的安全性,它提供了一个内置脚本。该脚本创建了一个逐步向导,新用户可以轻松遵循。运行以下命令以调用该脚本。
sudo mysql_secure_installation
在该过程中,系统会提示你:
- 如果在安装过程中未设置,则为 MySQL root 用户设置密码。
- 删除匿名用户。
- 禁止远程 root 登录。
- 删除测试数据库。
- 重新加载权限表以应用更改。
- 建议对所有提示回答“yes”,以实现更安全的安装。
第四步:测试 MySQL 安装
在上一步中,我们已经知道 MySQL 在后台运行且没有错误,现在,让我们登录并检查它是否允许我们访问。
登录 MySQL:
sudo mysql -u root -p
系统会提示你输入在使用“mysql_secure_installation”命令保护数据库服务器时设置的 root 用户密码。登录后,你会看到 MySQL 提示符。
退出 MySQL shell,只需输入:
exit;
第五步:创建新数据库和用户(可选)
现在,为了使用 MySQL 为任何 Web 应用程序存储数据,我们需要创建一个新的数据库和一个对该数据库具有权限的用户。以下是操作方法。
登录 MySQL:
sudo mysql -u root -p
创建新数据库:将“your_database_name”替换为你想要的名称。
CREATE DATABASE your_database_name;
创建新用户:将“your_username”和“your_password”替换为你想要的用户名和密码。
CREATE USER 'your_username'@'localhost' IDENTIFIED BY 'your_password';
授予用户权限:创建数据库后,为用户分配使用该数据库的权限。将 your_database_name 替换为你创建的数据库名称,将 your_username 替换为用户名。
GRANT ALL PRIVILEGES ON your_database_name.* TO 'your_username'@'localhost';
刷新权限:应用对用户权限所做的更改。
FLUSH PRIVILEGES;
退出 MySQL:
exit;
第六步:配置 MySQL(可选)
此步骤完全可选,仅在应用程序对使用 MySQL 服务器有特殊要求时才需要。MySQL 配置文件位于 /etc/mysql/my.cnf 和
/etc/mysql/mysql.conf.d/mysqld.cnf。这些文件可用于控制 MySQL 服务器的行为。你可以根据需要使用这些文件调整设置,例如绑定地址(用于远程连接)、缓冲区大小和日志记录选项。
“
/etc/mysql/mysql.conf.d/mysqld.cnf”文件用于配置 MySQL 服务器守护进程(mysqld)。它包括用于调整 MySQL 服务器行为和性能的具体参数。
要打开它,请使用以下命令:
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
“/etc/mysql/my.cnf”文件是 MySQL 的全局配置文件,作为其配置设置的主要入口点,并且在 MySQL 服务器启动时首先读取。
要打开并编辑此文件,请使用以下命令:
sudo nano /etc/mysql/my.cnf
重启 MySQL:在对 MySQL 配置文件进行更改后,不要忘记重启 MySQL 服务,以便系统应用这些更改。
sudo systemctl restart mysql
总结
MySQL 和 MariaDB 的命令行操作非常相似,因此如果你熟悉其中一个,就可以操作另一个。在这里,我们学习了在 Ubuntu 24.04 上安装 MySQL 服务器的基本步骤。现在,你可以开始设置 Web 应用程序或管理现有的 SQL 数据库。
相关推荐
- 10种常见的MySQL错误,你可中招?
-
【51CTO.com快译】如果未能对MySQL8进行恰当的配置,您非但可能遇到无法顺利访问、或调用MySQL的窘境,而且还可能给真实的应用生产环境带来巨大的影响。本文列举了十种MySQL...
- MySQL主从如何保证数据一致性
-
MySQL主从(主备)搭建请点击基于Spring的数据库读写分离。MySQL主备基本原理假设主备切换前,我们的主库是节点A,节点B是节点A的备库,客户端的读写都是直接访问节点A,节点B只是将A的更新同...
- MySQL低版本升级操作流程
-
(关注“数据库架构师”公众号,提升数据库技能,助力职业发展)0-升级背景MySQL5.5发布于2010年,至今已有十年历史,官方已经停止更新。2008年发布的MySQL5.1版本,在2018年...
- MySQL数据库知识
-
MySQL是一种关系型数据库管理系统;那废话不多说,直接上自己以前学习整理文档:查看数据库命令:(1).查看存储过程状态:showprocedurestatus;(2).显示系统变量:show...
- Mysql 8.4数据库安装、新建用户和数据库、表单
-
1、下载MySQL数据库yuminstall-ywgetperlnet-toolslibtirpc#安装wget和perl、net-tools、libtirpcwgethtt...
- mysql8.0新功能介绍
-
MySQL8.0新特性集锦一、默认字符集由latin1变为utf8mb4在8.0版本之前,默认字符集为latin1,utf8指向的是utf8mb3,8.0版本默认字符集为utf8mb4,utf8默...
- 全网最详细解决Windows下Mysql数据库安装后忘记初始root 密码方法
-
一、准备重置root的初始化密码Win+R键启动命令输入窗口;输入cmd打开命令执行窗口;##界面如下##输入命令:netstopmysqld#此操作会停止当前运行的...
- 互联网大厂面试:MySQL使用grant授权后必须flush privilege吗
-
从我上大学时,数据库概论老师就告诉我,MySQL使用grant对用户授权之后,一定记得要用flushprivilege命令刷新缓存,这样才能使赋权命令生效。毕业工作以后,在很多的技术文档上,仍然可以...
- # mysql 8.0 版本无法使用 sqlyog 等图形界面 登录 的解决方法
-
30万以下的理想L6来了##mysql8.0版本无法使用sqlyog等图形界面登录的解决方法当我们在cmd下登录mysql时正常时,用sqlyog等图形界面连接数据库时却...
- MySQL触发器介绍
-
前言:在学习MySQL的过程中,可能你了解过触发器的概念,不清楚各位是否有详细的去学习过触发器,最近看了几篇关于触发器的文档,分享下MySQL触发器相关知识。1.触发器简介触发器即trigg...
- 管理员常用的MySQL命令汇总(一)
-
以下是管理员常用的MySQL命令:以管理员身份连接到MySQL:mysql-uroot-p创建新的MySQL用户:CREATEUSER'username'@'...
- Linux(CentOS) 在线安装MySQL8.0和其他版本,修改root密码
-
一:安装MySQL数据库1),下载并安装MySQL官方的YumRepositorymysql官方仓库地址:https://dev.mysql.com/downloads/repo/yum/选择自...
- 解决 MySQL 8.0 一直拒绝 root 登录问题
-
Accessdeniedforuser'root'@'localhost'(usingpassword:YES)这个错误在网上搜一下,能看到非常多的此类...
- 大模型MCP之MYSQL安装
-
前言学习大模型的时候需要一个mysql,原因还是在公司使用电脑的时候不允许按照Docker-Desktop,我的宿主机其实是MAC,我习惯上还是在centsos上面安装,就发现这件过去很简单的事情居然...
- MySQL ERROR 1396
-
ERROR1396(HY000):OperationCREATEUSERfailedfor'usera'@'%'问题描述mysql>create...
- 一周热门
-
-
Python实现人事自动打卡,再也不会被批评
-
【验证码逆向专栏】vaptcha 手势验证码逆向分析
-
Psutil + Flask + Pyecharts + Bootstrap 开发动态可视化系统监控
-
一个解决支持HTML/CSS/JS网页转PDF(高质量)的终极解决方案
-
再见Swagger UI 国人开源了一款超好用的 API 文档生成框架,真香
-
网页转成pdf文件的经验分享 网页转成pdf文件的经验分享怎么弄
-
C++ std::vector 简介
-
系统C盘清理:微信PC端文件清理,扩大C盘可用空间步骤
-
飞牛OS入门安装遇到问题,如何解决?
-
10款高性能NAS丨双十一必看,轻松搞定虚拟机、Docker、软路由
-
- 最近发表
- 标签列表
-
- python判断字典是否为空 (50)
- crontab每周一执行 (48)
- aes和des区别 (43)
- bash脚本和shell脚本的区别 (35)
- canvas库 (33)
- dataframe筛选满足条件的行 (35)
- gitlab日志 (33)
- lua xpcall (36)
- blob转json (33)
- python判断是否在列表中 (34)
- python html转pdf (36)
- 安装指定版本npm (37)
- idea搜索jar包内容 (33)
- css鼠标悬停出现隐藏的文字 (34)
- linux nacos启动命令 (33)
- gitlab 日志 (36)
- adb pull (37)
- python判断元素在不在列表里 (34)
- python 字典删除元素 (34)
- vscode切换git分支 (35)
- python bytes转16进制 (35)
- grep前后几行 (34)
- hashmap转list (35)
- c++ 字符串查找 (35)
- mysql刷新权限 (34)