在Ubuntu上安装和配置MySQL保姆级教程

要求

你将需要在系统上拥有提升的权限 (root)。你可以通过执行以下命令来执行此操作。

sudo su

安装 MySQL-Server

本文中选择的 Ubuntu 版本是 Ubuntu 20.04 LTS,使用 MySQL Linux 版本是 5.7 版做示例。要开始安装,可按照以下步骤操作:

步骤一

确保系统中的所有软件包和存储库都是最新的,可以通过运行以下命令来执行此操作:

sudo apt update

更新系统包

步骤二

现在,我们将通过 apt 包管理器安装 MySQL,执行下面的命令。

sudo apt install mysql-server

安装 MySQL 数据库

步骤三

安装成功后,mysql-service 应该会自动启动。你可以通过执行以下命令来确认。

sudo systemctl mysql-server

你应该得到与下图类似的输出。

MySQL 状态

服务未运行时,可执行以下命令:

sudo /etc/init.d/mysql start

验证 MySQL-Server

你可以通过运行以下命令来验证安装结果,该命令将输出系统中所安装的 MySQL 版本和发行版。

mysql --version

MySQL 版本分布

保护MySQL-Server

既然 MySQL Server 安装成功了,我们则需要设置一些参数来保证以后配置的服务器和数据库的安全。

一般情况下,MySQL Server 包安装完成后,mysql-secure-installation 实用程序将自动启动。但是,如果你没有自动启动,可执行以下命令:

sudo mysql_secure_installation

这将会一个提示,询问是否验证密码插件。它通过检查用户密码的强度来增强 MySQL Server 的安全性,允许用户仅设置强密码。按 Y 接受 VALIDATION 或按 RETURN 键跳过。

接受密码验证插件

接下来,会看到设置 root 密码的提示。输入密码并按回车键。注意,为了安全,在控制台中不会显示键入的任何内容。

输入 MySQL root密码

接下来,会看到一个提示,询问你是否删除所有匿名用户,输入 Y 表示是。

移除匿名用户

以root身份登录并调整用户身份验证

MySQL Server 带有一个客户端实用程序,可以从 Linux 终端访问数据库并与之交互。

通常,未做任何配置时,在 Ubuntu 上全新安装 MySQL 后,访问服务器的用户将使用 auth_socket 插件进行身份验证。

auth_socket 的使用会阻止服务器使用密码对用户进行身份验证。它不仅会引发安全问题,而且还会使用户无法借助外部程序(如 phpMyAdmin)访问数据库。因此我们需要将身份验证方法从 auth_socket 更改为使用 mysql_native_password。

为此需要打开 MySQL 控制台,并在 Linux 终端上运行以下命令。

sudo mysql

登录mysql

现在,我们需要检查数据库对不同用户使用的身份验证方法。你可以通过运行以下命令来执行此操作。

SELECT user,authentication_string,plugin,host FROM mysql.user;

检查用户身份验证方法

从上图中,我们可以确认 root 用户确实使用 auth_socket 进行了身份验证。我们需要使用下面的“ALTER USER”命令切换到密码验证的使用。另外需要注意的是,确保使用较强的安全密码(应超过 8 个字符,结合数字、字符串和特殊符号等),因为它将替换你在执行上述命令“sudo mysql_secure_installation” 时设置的密码。运行以下命令。

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

更改root身份验证

注意,上图中亮绿色突出显示的文本是你设置安全密码的地方。现在,我们需要重新加载授权表并将更改更新到 MySQL 数据库。通过执行以下命令来执行此操作。

FLUSH PRIVILEGES;

刷新权限

完成后,我们需要确认 root 用户不再使用 auth_socket 进行身份验证。通过再次运行以下命令来执行此操作。

SELECT user,authentication_string,plugin,host FROM mysql.user;

检查root身份验证

从上图中,我们看到 root 身份验证方法已从“auth_socket”更改为“mysql_native_password”。

由于我们更改了 root 的身份验证方法,因此我们无法使用之前使用的相同命令打开 MySQL 控制台。即“sudo mysql”。我们需要包括用户名和密码参数,如下所示。

mysql -u root -p

“-u”表示用户,这里是“root”,“-p”代表“password”,一旦你按下 Enter 键,服务器就会提示你输入密码。

mysql -u root -p

创建新用户

一切都设置好后,你可以创建一个新用户,并授予该用户适当的权限。我们将创建一个用户 ‘PyDataStudio’ 并分配对所有数据库表的权限以及更改、删除和添加用户权限的权限。逐行执行下面的命令。

CREATE USER 'PyDataStudio'@'localhost' IDENTIFIED BY'strong_password';

GRANT ALL PRIVILEGES ON*.* TO 'PyDataStudio'@'localhost' WITH GRANT OPTION;

第一个命令将创建新用户,第二个命令分配所需的权限。

我们现在可以通过运行以下命令来测试我们的新用户。

mysql -u PyDataStudio -p

测试我们的新用户

在 Ubuntu 上安装 MySQL-Server

在 Ubuntu 服务器上安装 MySQL-server 与上述步骤没有太大区别。但是,由于服务器是远程访问的,我们还需要为服务器启用远程访问。

要安装数据库并配置安全选项,只需在终端上逐行运行以下命令。

sudo apt update
sudo apt install mysql-server
sudo mysql_secure_installation

安装成功后,需要启用远程访问。从逻辑上讲,我们需要在 Ubuntu 服务器防火墙上打开一个端口,以便 MySQL 数据库进行通信。默认情况下,MySQL 服务在 3306 端口上运行。执行以下命令。

sudo ufw enable
sudo ufw allow mysql

启用远程访问

为了增强 MySQL 数据库的可靠性和可访问性,可以将 MySQL-server 服务配置为在启动时开始运行。执行以下命令。

sudo systemctl enable mysql

在启动时启用 MySQL Server

现在需要配置服务器的接口,从而服务器能够侦听远程可访问的接口。我们需要编辑“mysqld.cnf”文件。运行以下命令。

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

配置绑定地址

默认情况下,绑定地址为“127.0.0.1”。为公网接口添加绑定地址,为服务网络接口添加另一个绑定地址。你可以将所有 IP 地址的绑定地址配置为“0.0.0.0”。

写在最后

至此本文已经结束,为了满足不同用户的需求,云朵君将会继续分享在Linux Centos和 Windows 上安装和配置 Mysql 的保姆级教程,希望能够帮助到你。

文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/233813.html<

(0)
运维的头像运维
上一篇2025-04-20 19:28
下一篇 2025-04-20 19:29

相关推荐

  • 个人主题怎么制作?

    制作个人主题是一个将个人风格、兴趣或专业领域转化为视觉化或结构化内容的过程,无论是用于个人博客、作品集、社交媒体账号还是品牌形象,核心都是围绕“个人特色”展开,以下从定位、内容规划、视觉设计、技术实现四个维度,详细拆解制作个人主题的完整流程,明确主题定位:找到个人特色的核心主题定位是所有工作的起点,需要先回答……

    2025-11-20
    0
  • 社群营销管理关键是什么?

    社群营销的核心在于通过建立有温度、有价值、有归属感的社群,实现用户留存、转化和品牌传播,其管理需贯穿“目标定位-内容运营-用户互动-数据驱动-风险控制”全流程,以下从五个维度展开详细说明:明确社群定位与目标社群管理的首要任务是精准定位,需明确社群的核心价值(如行业交流、产品使用指导、兴趣分享等)、目标用户画像……

    2025-11-20
    0
  • 香港公司网站备案需要什么材料?

    香港公司进行网站备案是一个涉及多部门协调、流程相对严谨的过程,尤其需兼顾中国内地与香港两地的监管要求,由于香港公司注册地与中国内地不同,其网站若主要服务内地用户或使用内地服务器,需根据服务器位置、网站内容性质等,选择对应的备案路径(如工信部ICP备案或公安备案),以下从备案主体资格、流程步骤、材料准备、注意事项……

    2025-11-20
    0
  • 如何企业上云推广

    企业上云已成为数字化转型的核心战略,但推广过程中需结合行业特性、企业痛点与市场需求,构建系统性、多维度的推广体系,以下从市场定位、策略设计、执行落地及效果优化四个维度,详细拆解企业上云推广的实践路径,精准定位:明确目标企业与核心价值企业上云并非“一刀切”的方案,需先锁定目标客户群体,提炼差异化价值主张,客户分层……

    2025-11-20
    0
  • PS设计搜索框的实用技巧有哪些?

    在PS中设计一个美观且功能性的搜索框需要结合创意构思、视觉设计和用户体验考量,以下从设计思路、制作步骤、细节优化及交互预览等方面详细说明,帮助打造符合需求的搜索框,设计前的规划明确使用场景:根据网站或APP的整体风格确定搜索框的调性,例如极简风适合细线条和纯色,科技感适合渐变和发光效果,电商类则可能需要突出搜索……

    2025-11-20
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注