如何在Debian11上安装 Mysql Server 8

2023-03-13 20:56:38 浏览数 (2)

MySQL 是一个开源的关系数据库管理系统,它是流行的关系型数据库之一。

Mysql 通常作为流行的 LAMP 或 LEMP(Linux、Apache/Nginx、MySQL/MariaDB、PHP/Python/Perl)堆栈的一部分安装,它实现了关系模型和结构化查询语言 (SQL) 来管理和查询数据。

在本指南中,我们将在 Debian 11 上安装 mysql 8。

1. 确保服务器是最新的

在开始之前,让我们确保我们的 debian 服务器是最新的,使用此命令更新服务器包:

代码语言:javascript复制
sudo apt update
sudo apt upgrade -y

接下来,让我们安装我们在教程中需要的常用包

代码语言:javascript复制
sudo apt install -y curl vim

2.为mysql 8安装设置repo

Mysql server 8 在默认的 Debian 存储库中不可用,mysql 团队提供了一个可下载的 .deb 文件,该文件将为 mysql server 8 安装配置存储库,使用以下命令下载它:

代码语言:javascript复制
curl -LO https://dev.mysql.com/get/mysql-apt-config_0.8.20-1_all.deb

您应该会看到与此几乎相似的输出:

代码语言:javascript复制
$ curl -LO https://dev.mysql.com/get/mysql-apt-config_0.8.20-1_all.deb
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100 35548  100 35548    0     0   104k      0 --:--:-- --:--:-- --:--:--  104k

下载完成后,我们需要安装下载的 deb 文件,使用此命令安装:

代码语言:javascript复制
sudo dpkg -i ./mysql-apt-config_0.8.20-1_all.deb

这将打开一个配置窗口,提示您选择 mysql 服务器版本和其他组件,例如集群、共享客户端库或 MySQL 工作台。

现在因为我们只对 Mysql Server 安装感兴趣,所以保留默认(Mysql Server 和集群)设置并单击 OK 继续。

这是成功安装和配置的输出。

代码语言:javascript复制
$ sudo dpkg -i ./mysql-apt-config_0.8.20-1_all.deb
sudo: unable to resolve host debiansrv.citizix.com: No address associated with hostname
(Reading database ... 30001 files and directories currently installed.)
Preparing to unpack .../mysql-apt-config_0.8.20-1_all.deb ...
Unpacking mysql-apt-config (0.8.20-1) over (0.8.20-1) ...
Setting up mysql-apt-config (0.8.20-1) ...

Warning: apt-key should not be used in scripts (called from postinst maintainerscript of the package mysql-apt-config)
Warning: apt-key is deprecated. Manage keyring files in trusted.gpg.d instead (see apt-key(8)).
OK

3.安装Mysql 8服务器

现在已经添加了 repos 以包含 mysql 服务器,我们现在可以安装 mysql-server 包。

首先,刷新存储库以从添加的存储库中获取最新信息:

代码语言:javascript复制
sudo apt update

然后使用以下命令安装 Mysql 8 Server:

代码语言:javascript复制
sudo apt install -y mysql-server

输入您的管理员凭据,系统将安装 MySQL 服务器包、客户端包和数据库公共文件。

安装将提示您输入并确认 MySQL 数据库的 root 用户和密码。

使用此命令检查已安装包的信息以确认我们安装了我们想要的 mysql 版本:

代码语言:javascript复制
$ apt-cache policy mysql-server
mysql-server:
  Installed: 8.0.27-1debian11
  Candidate: 8.0.27-1debian11
  Version table:
 *** 8.0.27-1debian11 500
        500 http://repo.mysql.com/apt/debian bullseye/mysql-8.0 amd64 Packages
        100 /var/lib/dpkg/status

4.启动和启用mysql服务

在 debian 中,Mysql 服务器默认是 styarted。检查服务的状态以确认它实际上正在运行:

代码语言:javascript复制
$ sudo systemctl status mysql
sudo: unable to resolve host debiansrv.citizix.com: No address associated with hostname
● mysql.service - MySQL Community Server
     Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled)
     Active: active (running) since Wed 2021-11-24 04:47:23 UTC; 2min 31s ago
       Docs: man:mysqld(8)
             http://dev.mysql.com/doc/refman/en/using-systemd.html
    Process: 15747 ExecStartPre=/usr/share/mysql-8.0/mysql-systemd-start pre (code=exited, status=0/>
   Main PID: 15782 (mysqld)
     Status: "Server is operational"
      Tasks: 37 (limit: 4626)
     Memory: 356.7M
        CPU: 911ms
     CGroup: /system.slice/mysql.service
             └─15782 /usr/sbin/mysqld

Nov 24 04:47:22 debiansrv.citizix.com systemd[1]: Starting MySQL Community Server...
Nov 24 04:47:23 debiansrv.citizix.com systemd[1]: Started MySQL Community Server.

在 Active: active (running) since ... 表示该服务是启动和运行。

要使服务在重新启动时启动,请使用以下命令:

代码语言:javascript复制
sudo systemctl enable mysql

使用 journalctl 命令查看 MySQL 8 服务日志如下:

代码语言:javascript复制
$ sudo journalctl -u mysql -xe
$ sudo tail -f /var/log/mysql/mysqld.log

5. 测试 MySQL 安装

让我们使用以下命令检查 mysql 版本:

代码语言:javascript复制
$ mysql -V
mysql  Ver 8.0.27 for Linux on x86_64 (MySQL Community Server - GPL)

现在您可以root 使用上面指定的 用户和密码登录。

代码语言:javascript复制
$ mysql -u root -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or g.
Your MySQL connection id is 8
Server version: 8.0.27 MySQL Community Server - GPL

Copyright (c) 2000, 2021, Oracle and/or its affiliates.

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.

mysql> select version();
 ----------- 
| version() |
 ----------- 
| 8.0.27    |
 ----------- 
1 row in set (0.00 sec)

mysql>

0 人点赞