如何在 Ubuntu 20.04 LTS 上安装 MySQL 8

在本文中,我们将演示如何使用命令行在 Ubuntu 20.04 上安装 MySQL 8。

如果您喜欢此文章,请收藏、点赞、评论,谢谢,祝您快乐每一天。

介绍

MySQL 是开源关系数据库管理服务器,主要用于基于 Web 的技术,归 Oracle 所有。

先决条件

  • Ubuntu 20.04 LTS 系统
  • 使用 sudo 权限的 SSH 访问
  • 防火墙端口:3306

MySQL 8.0 中的新功能

  • 跨国数据词典
  • 原子数据定义语句支持
  • 增强安全性和帐户管理。
  • 持久运行时配置
  • 表加密管理
  • MySQL 的 JSON 功能增强
  • 支持不同类型的索引和查询优化
  • 支持窗口功能
  • 处理多个网络接口上的客户端连接

如果您想了解 MySQL 8.0 的详细功能,请访问此链接。

步骤 1:下载并安装 MySQL 8 APT 存储库

Ubuntu 自带默认软件包存储库,并且现在是最新版本,如果我们想要添加/安装最新的存储库,那么我们必须添加/安装软件包存储库。

下面是使用命令行添加/下载 MySQL APT 存储库的命令:

$ sudo wget https://dev.mysql.com/get/mysql-apt-config_0.8.15-1_all.deb

然后,以下命令安装上面下载的 apt 存储库,

$ sudo dpkg -i mysql-apt-config_0.8.15-1_all.deb

当我们运行上述命令时,将打开如下提示,单击“Ok”。

# sudo apt-get update

# sudo apt-get install mysql-server

步骤 2:MySQL密码

接下来,我们将提示您输入 MySQL root密码来访问数据库。

输入密码后,它会要求使用密码加密功能,建议使用,但在这里我选择使用传统身份验证方法。

步骤3:安全MySQL安装

MySQL 服务器附带一个脚本mysql_secure_installation,它可以执行多个与安全相关的操作,

在命令提示符下运行以下脚本。首先需要输入在 MySQL 设置期间创建的 root 密码。

系统会询问您是否选择“验证密码插件”。这使我们能够测试 MySQL 密码并提高安全性。

接下来,您必须对以下安全功能输入“Yes”或“No” ,

  • 更改 root 密码?(按Y |Y 表示是,按任何其他键表示否)
  • 删除匿名用户?(按Y |Y 表示是,按任何其他键表示否)
  • 不允许远程 root 登录?(按Y |Y 表示是,按任何其他键表示否)
  • 删除测试数据库并访问它?(按Y |Y 表示是,按任何其他键表示否)
  • 现在重新加载权限表吗?(按Y |Y 表示是,按任何其他键表示否)

Securing the MySQL server deployment.
Enter password for user root:
Would you like to setup VALIDATE PASSWORD plugin?
Press y|Y for Yes, any other key for No: No

Change the password for root ? ((Press y|Y for Yes, any other key for No) : No

Remove anonymous users? (Press y|Y for Yes, any other key for No) : y

Disallow root login remotely? (Press y|Y for Yes, any other key for No) : y
 
Remove test database and access to it? (Press y|Y for Yes, any other key for No)  : y
 
Reload privilege tables now? (Press y|Y for Yes, any other key for No) : y

 Success.
 All done!

我们已经介绍了如何在 Ubuntu 20.04 LTS 上安装 MySQL 8。

步骤4:登录MySQL数据库

使用以下命令登录 MySQL 数据库

# mysql -u root -p

这里,-u标志指定用户名,-p标志指定密码。

输入密码后,我们可以看到下面的欢迎信息,

Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 90
Server version: 8.0.19 MySQL Community Server - GPL

Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

步骤5:创建MySQL远程用户

首先,使用命令行以 root 用户身份登录 MySQL 服务器,使用用户名 root 和密码登录 MySQL

# mysql -u root -p

下面是创建用户的命令,这里我创建用户“ fosstechnix ”。

mysql> CREATE USER 'fosstechnix'@'%' IDENTIFIED BY 'fosstechnix@123';

接下来,使用以下命令为数据库分配权限,这里我将所有数据库权限分配给用户 fosstechnix,如果要为特定数据库分配权限,请将“。”替换为数据库名称。

mysql> GRANT ALL PRIVILEGES ON * . * TO 'fosstechnix'@'%';

或者如果您想允许“fosstechnix”用户授予其他用户权限。

mysql> GRANT ALL PRIVILEGES ON *.* TO 'fosstechnix'@'%' WITH GRANT OPTION;

要使重新加载权限生效,请使用以下命令:

mysql> FLUSH PRIVILEGES;

步骤6:启用 MySQL 远程访问

默认情况下,出于安全原因,MySQL 数据库服务器的远程访问是禁用的。要启用 MySQL 服务器的远程连接,我们必须更改 MySQL 配置文件中的 bind-address。打开/etc/mysql/mysql.conf.d/mysqld.cnf文件

$ sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf

在 [mysqld] 部分下面找到以下行,

[mysqld]
bind-address  = 127.0.0.1

并将其替换为

bind-address = 0.0.0.0

重启MySQL服务器即可生效。

$ sudo systemctl restart mysql.service

在系统启动时启用 MySQL 8。

$ sudo systemctl enable mysql.service

步骤 7:MySQL 服务的启动、停止、重启和状态

启动 MySQL 服务

$ sudo systemctl start mysql.service

停止 MySQL 服务

$ sudo systemctl stop mysql.service

重新启动 MySQL 服务

$ sudo systemctl restart mysql.service

检查 MySQL 服务的状态

$ sudo systemctl status mysql.service

故障排除

Ubuntu/Debian apt-get “KEYEXPIRED: 以下签名无效” 如何使用 apt 解决密钥过期 (KEYEXPIRED)

更新 apt 软件包时,如果您收到 KEYEXPIRED 消息( A4A9 4068 76FC BD3C 4567 70C8 8C71 8D3B 5072 E1F5 )

使用以下命令检查过期的密钥列表,

$ sudo apt-key list | grep -A 1 expired

输出:

  pub   dsa1024 2003-02-03 [SCA] [expired: 2019-02-17]
      A4A9 4068 76FC BD3C 4567  70C8 8C71 8D3B 5072 E1F5
uid           [ expired] MySQL Release Engineering <mysql-build@oss.oracle.com>

/etc/apt/trusted.gpg.d/ubuntu-keyring-2012-archive.gpg
------------------------------------------------------
pub   rsa4096 2012-05-11 [SC]
      790B C727 7767 219C 42C8  6F93 3B4F E6AC C0B2 1F32
uid           [ unknown] Ubuntu Archive Automatic Signing Key (2012) <ftpmaster@ubuntu.com>

/etc/apt/trusted.gpg.d/ubuntu-keyring-2012-cdimage.gpg

我们可以看到过期的密钥列表,

更新密钥

使用以下命令更新密钥,

$ sudo apt-key adv --keyserver keys.gnupg.net --recv-keys  70C8 8C71 8D3B 5072 E1F5 [KEY]

输出:

Executing: /tmp/apt-key-gpghome.5R54mS1bQd/gpg.1.sh --keyserver keys.gnupg.net --recv-keys 8C718D3B5072E1F5
gpg: key 8C718D3B5072E1F5: 3 duplicate signatures removed
gpg: key 8C718D3B5072E1F5: 99 signatures not checked due to missing keys
gpg: key 8C718D3B5072E1F5: "MySQL Release Engineering <mysql-build@oss.oracle.com>" 26 new signatures
gpg: Total number processed: 1
gpg:         new signatures: 26

结论

我们已经介绍了如何在 Ubuntu 20.04 上安装 MySQL 8、保护 MySQL、创建 MySQL 用户、启用 MySQL 远程访问和 MySQL 8.0 管理命令。

如果您喜欢此文章,请收藏、点赞、评论,谢谢,祝您快乐每一天。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

hefeng_aspnet

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值