How to Install MySQL on Ubuntu 22.04

MySQL 是一种流行的开源关系数据库管理系统(RDBMS),它使用 SQL 语法来执行数据库操作,如 CRUD(创建、读取、更新和删除),管理用户和权限。

MySQL 数据库是一个高性能数据库,在 LAMP 组合中扮演着不可或缺的角色,它存储网站数据。它与 PHP 无缝配合,在 web 开发中很受欢迎。MySQL 还具有高度的可定制性,支持多达数百万条记录的大型数据库,它还提供数据复制和冗余,以提供容错能力。

必备条件

  • 预装 Ubuntu 22.04 系统
  • 具有管理员访问权限的 Sudo 用户
  • 可靠的互联网连接

    (1) 更新 APT 软件包索引

首先,登录到您的服务器实例并更新本地 APT 包索引。

$ sudo apt update

(2) 安装 MySQL

MySQL 服务器包在 Ubuntu 的存储库中免费提供。在编写本指南时,最新版本是 MySQL server 8.0,并且已经托管在存储库中。

$ sudo apt install mysql-server -y

Install-mysql-ubuntu-22-04-apt-command

安装完成后,MySQL 守护进程就会自动启动并在后台安静运行,通过下命令来确认

$ sudo systemctl status mysql

MySQL-Service-Status-Check-Ubuntu

也可以通过以下命令确认

$ systemctl is-active mysql

MySQL-Service-Status-Verify-Ubuntu

您可以将 MySQL 设置为随系统自动启动,如图所示。

$ sudo systemctl enable mysql

(3) MySQL Server 安装安全设置

默认的 MySQL 设置是不安全的,特别是如果您打算在生产中使用数据库服务器。

MySQL 安装提供了一个安全脚本,用于解决不太安全的默认选项,请运行以下命令:

$ sudo mysql_secure_installation

默认情况下,MySQL 使用 auth_socket 进行身份验证。这是一种无密码身份验证,使用 auth_socket 插件,用户可以使用其用户帐户凭据登录 MySQL 并对其进行身份验证。

MySQL-Secure-Installation-Ubuntu-22-04

如果您希望使用密码验证,请按 CTRL+C 取消操作并访问 MySQL 终端

$ sudo mysql

Connect-MySQL-Without-Password-Ubuntu-22-04

接下来,运行 ALTER USER 命令将 root 用户的身份验证方法修改为密码验证,如图所示。

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

然后,退出 MySQL 终端

FLUSH PRIVILEGES
EXIT

Set-MySQL-Root-User-Password-CommandLine-Ubuntu-22-04

再次运行脚本,提供 root 密码,然后按 ENTER。接下来,您可以选择更改 root 用户的密码或提供新密码。在我们的情况下,我们不修改密码,因此,我们将按 N。

Run-MySQL-Secure-Installation-Ubuntu-22-04

对于其余提示,请按 Y 以保护数据库服务器的安全,执行以下操作来确保数据库安全性。

  • 删除任何匿名用户
  • 不允许 root 用户远程登录
  • 删除测试数据库及其访问权限
  • 保存通过重新加载特权表所做的更改

Secure-mysql-remove-test-database-disallow-remote-root-login

(4) 创建 MySQL 管理用户

默认情况下,MySQL 会在安装期间创建一个默认的根用户来管理数据库。用户拥有完全权限,因此可以对所有数据库、表、用户等进行绝对控制。

建议为运行管理任务创建一个单独的数据库用户,再次以 root 用户身份登录 MySQL 数据库服务器。

$ sudo mysql -u root -p

创建数据库用户

CREATE USER 'linuxtechi'@'localhost' IDENTIFIED BY 'password';

然后将所有权限授予用户,. 表示数据库服务器中的所有数据库。

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

接下来,刷新PRIVILEGES

FLUSH PRIVILEGES

退出 MySQL 终端

EXIT

Create-User-in-MySQL-Database-Server-Ubuntu

以管理用户身份登录

$ mysql -u linuxtechi -p

Login-MySQL-Database-Server-Ubuntu-22-04

我的开源项目

酷瓜云课堂-开源知识付费解决方案


鸠摩智首席音效师
478 声望10 粉丝

身强体健,龙精虎猛的活着。