PmaControl logo PmaControl
  • Strona główna
  • Strona główna
    • PmaControl PmaControl
    • PmaControl PmaControl
    • PmaControl PmaControl
    • PmaControl PmaControl
    • Agenci AI Agenci AI
    Klienci
    • MariaDB 30 artykułów
    • MySQL 10 artykułów
    • Galera Cluster 6 artykułów
    • MaxScale 3 artykuły
    • ProxySQL 2 artykuły
    • Amazon Aurora MySQL 0 artykuły
    • Azure Database 0 artykuły
    • ClickHouse 0 artykuły
    • GCP CloudSQL 0 artykuły
    • Percona Server 0 artykuły
    • SingleStore 0 artykuły
    • TiDB 0 artykuły
    • Vitess 0 artykuły
    Bazy danych
    • Rozwiązania Rozwiązania
    • Observabilité SQL Rozwiązania
    • Haute disponibilité Rozwiązania
    • Disaster Recovery Rozwiązania
    • Sécurité & conformité Wsparcie 24×7
    • Migration & upgrade Wsparcie 24×7
  • PmaControl
  • Cennik
    • PmaControl Zasoby
    • Agenci AI Zasoby
    • Zasoby Zasoby
    • Zasoby Zasoby
    • Dokumentacja Dokumentacja
    Blog
    • Observabilité SQL Obszary ekspertyzy
    • Haute disponibilité Rozwiązania
    • Sécurité & conformité Obszary ekspertyzy
    • Disaster Recovery Rozwiązania
    • Performance & optimisation Obserwowalność SQL
    • Migration & upgrade Obserwowalność SQL
    Wydajność i optymalizacja
    • Szybkie linki Szybkie linki
    • Szybkie linki Szybkie linki
    • Rozwiązania Rozwiązania
    • Szybkie linki Szybkie linki
  • Rozwiązania
  • Szybkie linki
Szybkie linki
🇫🇷 FR Français 🇬🇧 EN English 🇵🇱 PL Polski 🇷🇺 RU Русский 🇨🇳 ZH 中文
← Powrót do bloga

Instalacja MySQL 8.4 na Debian 13

Powrót do bloga April 13, 2026 Powrót do bloga Aurélien LEQUOY
mysql debian installation mysql-8.4 debian-13
Powrót do bloga X LinkedIn Facebook Email PDF
Instalacja MySQL 8.4 na Debian 13

Cel

Ta dokumentacja wyjaśnia od A do Z, jak zainstalować MySQL 8.4 na Debian 13 oficjalną metodą Oracle przez APT, a następnie jak:

  • sprawdzić, czy MySQL działa
  • zabezpieczyć instancję
  • dostosować podstawową konfigurację
  • przenieść datadir w razie potrzeby
  • zarządzać usługą za pomocą systemd

Ważna informacja o Debian 13

Na dzień 13 kwietnia 2026 repozytorium APT MySQL publikuje pakiety dla Debian 13 trixie, w tym mysql-8.4-lts.

  • Debian 13 może być używany bezpośrednio z repozytorium Oracle MySQL
  • zalecana metoda pozostaje repozytorium APT MySQL
  • nie ma potrzeby korzystania z natywnych pakietów Debian, jeśli celem jest Oracle MySQL 8.4

Zalecana architektura

Dla czystej instalacji:

  • minimalny OS Debian 13
  • poprawny hostname
  • stałe IP
  • spójna strefa czasowa
  • osobny dysk danych, jeśli maszyna jest przeznaczona do produkcji

Rozsądna minimalna konfiguracja:

Komponent Minimum
vCPU 2
RAM 4 GB
Dysk systemowy 20 GB
Dysk danych 50 GB+ (osobny datadir)

1. Przygotowanie Debian 13

apt-get update
apt-get -y upgrade
apt-get install -y \
  curl wget gnupg lsb-release ca-certificates \
  apt-transport-https net-tools dnsutils sudo

Uwaga: pakiet software-properties-common nie istnieje na Debian 13 (to pakiet Ubuntu). Nie uwzględniaj go.

timedatectl set-timezone Europe/Paris
cat /etc/os-release

Sprawdź, czy VERSION_CODENAME=trixie.

2. Dodanie repozytorium APT MySQL Oracle

Opcja A — Z mysql-apt-config (metoda oficjalna)

cd /tmp
wget https://dev.mysql.com/get/mysql-apt-config_0.8.36-1_all.deb
dpkg -i mysql-apt-config_0.8.36-1_all.deb
apt-get update

Opcja B — Ręczny plik APT (zalecana)

Ważne: klucz GPG RPM-GPG-KEY-mysql-2023 wygasł w październiku 2025. Użyj RPM-GPG-KEY-mysql-2025.

mkdir -p /etc/apt/keyrings
wget -O /etc/apt/keyrings/mysql.gpg https://repo.mysql.com/RPM-GPG-KEY-mysql-2025

cat >/etc/apt/sources.list.d/mysql.list <<'EOF'
deb [signed-by=/etc/apt/keyrings/mysql.gpg] http://repo.mysql.com/apt/debian/ trixie mysql-8.4-lts mysql-tools
EOF

apt-get update

3. Instalacja MySQL 8.4

DEBIAN_FRONTEND=noninteractive apt-get install -y mysql-server

Instaluje to serwer (mysql-community-server), klienta (mysql-community-client), wtyczki i wspólne pliki.

dpkg -l | grep -E 'mysql-(server|client|community)'

4. Sprawdzenie usługi

systemctl status mysql --no-pager
systemctl is-active mysql
systemctl is-enabled mysql
mysql --version
mysql -Nse "SELECT VERSION();"

5. Pierwsze połączenie

Z DEBIAN_FRONTEND=noninteractive, MySQL 8.4 na Debian 13 konfiguruje uwierzytelnianie root przez Unix socket (bez hasła):

mysql

lub:

sudo mysql

6. Zabezpieczenie instancji

Przez oficjalne narzędzie:

mysql_secure_installation

Lub ręcznie:

DELETE FROM mysql.user WHERE User='';
DROP DATABASE IF EXISTS test;
DELETE FROM mysql.db WHERE Db='test' OR Db='test\\_%';
FLUSH PRIVILEGES;

7. Lokalizacja plików

Plik Ścieżka
Konfiguracja /etc/mysql/
Plik binarny serwera /usr/sbin/mysqld
Klient /usr/bin/mysql
Datadir /var/lib/mysql
Usługa systemd mysql.service
Konfiguracja niestandardowa /etc/mysql/mysql.conf.d/zz-*.cnf

8. Zalecana podstawowa konfiguracja

Dodaj dedykowany plik zamiast modyfikować istniejące:

cat >/etc/mysql/mysql.conf.d/zz-custom.cnf <<'EOF'
[mysqld]
bind-address = 0.0.0.0
mysqlx-bind-address = 0.0.0.0
skip_name_resolve = ON
max_connections = 200
innodb_buffer_pool_size = 1G
log_error_verbosity = 2
EOF

systemctl restart mysql

Weryfikacja:

mysql -Nse "SHOW VARIABLES LIKE 'bind_address';"
mysql -Nse "SHOW VARIABLES LIKE 'innodb_buffer_pool_size';"

9. Otwarcie portu 3306

Jeśli serwer ma akceptować zdalne połączenia:

CREATE USER 'admin'@'10.68.68.%' IDENTIFIED BY 'StrongPasswordHere';
GRANT ALL PRIVILEGES ON *.* TO 'admin'@'10.68.68.%' WITH GRANT OPTION;
FLUSH PRIVILEGES;
ss -lntp | grep 3306

10. Przeniesienie datadir do /srv/mysql

systemctl stop mysql
mkdir -p /srv/mysql
rsync -aHAX /var/lib/mysql/ /srv/mysql/
chown -R mysql:mysql /srv/mysql
chmod 750 /srv/mysql

cat >/etc/mysql/mysql.conf.d/zz-datadir.cnf <<'EOF'
[mysqld]
datadir = /srv/mysql
EOF

systemctl start mysql
mysql -Nse "SELECT @@datadir;"

Oczekiwany wynik: /srv/mysql/

11. Włączenie performance_schema

Już aktywny domyślnie na MySQL 8.4.8:

mysql -Nse "SELECT @@performance_schema;"

W razie potrzeby:

cat >/etc/mysql/mysql.conf.d/zz-performance.cnf <<'EOF'
[mysqld]
performance_schema = ON
EOF

systemctl restart mysql

12. Tworzenie użytkownika administracyjnego

Unikaj używania root do wszystkiego:

CREATE USER 'dba'@'10.68.68.%' IDENTIFIED BY 'VeryStrongPassword';
GRANT ALL PRIVILEGES ON *.* TO 'dba'@'10.68.68.%' WITH GRANT OPTION;
FLUSH PRIVILEGES;

13. Kopia zapasowa konfiguracji

tar czf /root/mysql-config-backup.tar.gz /etc/mysql
dpkg -l | grep mysql > /root/mysql-packages.txt

14. Typowe polecenia eksploatacyjne

systemctl start mysql
systemctl stop mysql
systemctl restart mysql
journalctl -u mysql -n 100 --no-pager

15. Weryfikacja końcowa

systemctl is-active mysql
mysql --version
mysql -Nse "SELECT VERSION();"
mysql -Nse "SELECT @@datadir;"
mysql -Nse "SELECT @@performance_schema;"
ss -lntp | grep 3306

16. Częste pułapki

  1. Nie mieszać MariaDB i MySQL Oracle — wybrać jedną filię
  2. Wygasły klucz GPG — RPM-GPG-KEY-mysql-2023 wygasł -> użyć RPM-GPG-KEY-mysql-2025
  3. software-properties-common nieistniejący — specyficzny dla Ubuntu, niedostępny na Debian 13
  4. Złe źródło APT — użyć trixie, nie bookworm
  5. Bezpośrednia modyfikacja mysqld.cnf — preferować plik zz-*.cnf w /etc/mysql/mysql.conf.d/
  6. Przeniesienie datadir bez zatrzymania MySQL — zawsze zatrzymać usługę przed kopią
  7. Wystawienie 3306 bez filtrowania — ograniczyć hosty, filtrować na firewallu

Procedura zwarta

apt-get update && apt-get -y upgrade
apt-get install -y wget gnupg ca-certificates curl sudo

mkdir -p /etc/apt/keyrings
wget -O /etc/apt/keyrings/mysql.gpg https://repo.mysql.com/RPM-GPG-KEY-mysql-2025

cat >/etc/apt/sources.list.d/mysql.list <<'EOF'
deb [signed-by=/etc/apt/keyrings/mysql.gpg] http://repo.mysql.com/apt/debian/ trixie mysql-8.4-lts mysql-tools
EOF

apt-get update
DEBIAN_FRONTEND=noninteractive apt-get install -y mysql-server
systemctl enable --now mysql

mysql -e "DELETE FROM mysql.user WHERE User=''; DROP DATABASE IF EXISTS test; DELETE FROM mysql.db WHERE Db='test' OR Db='test\\_%'; FLUSH PRIVILEGES;"

Wynik przetestowanej instalacji

Instalacja przeprowadzona 13 kwietnia 2026 na VM Proxmox:

  • VM: VMID 115, mysql84-deb13, IP 10.68.68.190
  • OS: Debian 13.4 (trixie), kernel 6.12.74
  • MySQL: 8.4.8 (MySQL Community Server - GPL)
  • Usługa: aktywna, włączona przy starcie
  • Konfiguracja: bind 0.0.0.0, skip_name_resolve ON, innodb_buffer_pool_size 1G, max_connections 200
  • performance_schema: aktywny
  • Port 3306: nasłuchuje na 0.0.0.0

Podsumowanie

Na Debian 13 właściwą metodą instalacji MySQL 8.4 jest użycie repozytorium APT Oracle MySQL.

Poprawki w stosunku do początkowej dokumentacji:

  • Klucz GPG: RPM-GPG-KEY-mysql-2023 wygasł -> użyć RPM-GPG-KEY-mysql-2025
  • Wymagania wstępne: usunąć software-properties-common (nieistniejący na Debian 13)
  • Połączenie root: z DEBIAN_FRONTEND=noninteractive, root łączy się przez socket bez hasła
  • performance_schema: już aktywny domyślnie na MySQL 8.4.8

Oficjalne referencje

  • MySQL 8.4 — Installation via APT
  • MySQL 8.4 — Paquets Debian Oracle
  • MySQL APT Repository
  • Indeks repozytorium APT trixie
Powrót do bloga X LinkedIn Facebook Email PDF
← Powrót do bloga

Opublikowano (0)

Nieprawidłowy adres e-mail.

Autor

PmaControl
+33 6 63 28 27 47 contact@pmacontrol.com
Platforma eksploatacji SQL GitHub Platforma eksploatacji SQL
Platforma eksploatacji SQL © 2014-2026 PmaControl — 68Koncept