GNU/Linux >> Znalost Linux >  >> Debian

Jak nainstalovat a nakonfigurovat Mariadb 10 v Debianu 11

MariaDB byla vyvinuta jako softwarový fork MySQL v roce 2009 v reakci na akvizici MySQL společností Oracle. MariaDB má v úmyslu zůstat svobodným a open-source softwarem pod GNU General Public License. Je součástí většiny cloudových nabídek a výchozí ve většině distribucí Linuxu.

V této příručce se naučíme, jak nainstalovat a nakonfigurovat MariaDB v Debianu 11.

Související příspěvky

  • Jak nainstalovat Mysql 8 na Rocky Linux/Centos 8
  • Jak nainstalovat a nakonfigurovat Mariadb 10 v Ubuntu 20.04
  • Jak nainstalovat a nakonfigurovat Mariadb ve Fedoře 35
  • Jak nainstalovat a nastavit mysql 8 na Ubuntu 20.04

Předpoklady

Chcete-li pokračovat, ujistěte se, že máte:

  • Aktuální server Debian 11
  • Kořenový přístup k serveru nebo uživateli s přístupem Sudo
  • Přístup k internetu ze serveru

Obsah

  1. Aktualizovat systém
  2. Instalace Mariadb
  3. Konfigurace Mariadb
  4. Volitelné:Úprava ověření uživatele a oprávnění
  5. Testování MariaDB

1. Aktualizujte systém

Než budeme pokračovat, ujistěte se, že je server Debian aktuální. Nejprve aktualizujte úložiště a poté proveďte aktualizaci systému, abyste zajistili, že všechny nainstalované balíčky jsou aktuální:

Ve svém terminálu zadejte tyto. -y možnost v apt upgrade je zajistit, aby se systém nezastavil, abychom mohli přijmout upgrade.

$ sudo apt update
$ sudo apt upgrade -y

2. Instalace mariadb

Mariadb se nachází ve výchozích repozitářích pro debian. K instalaci databázového serveru použijte tento příkaz:

sudo apt install -y mariadb-server

Mariadb se spustí ve výchozím nastavení.

$ sudo systemctl status mariadb
● mariadb.service - MariaDB 10.5.12 database server
     Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled)
     Active: active (running) since Fri 2021-11-12 07:31:38 UTC; 32s ago
       Docs: man:mariadbd(8)
             https://mariadb.com/kb/en/library/systemd/
    Process: 32218 ExecStartPre=/usr/bin/install -m 755 -o mysql -g root -d /var/run/mysqld (code=exited, status=0/SUCCESS)
    Process: 32219 ExecStartPre=/bin/sh -c systemctl unset-environment _WSREP_START_POSITION (code=exited, status=0/SUCCESS)
    Process: 32221 ExecStartPre=/bin/sh -c [ ! -e /usr/bin/galera_recovery ] && VAR= ||   VAR=`cd /usr/bin/..; /usr/bin/galera_recovery`; [ $? -eq 0 ]   && systemctl set-environment _WSREP_START_>
    Process: 32328 ExecStartPost=/bin/sh -c systemctl unset-environment _WSREP_START_POSITION (code=exited, status=0/SUCCESS)
    Process: 32330 ExecStartPost=/etc/mysql/debian-start (code=exited, status=0/SUCCESS)
   Main PID: 32296 (mariadbd)
     Status: "Taking your SQL requests now..."
      Tasks: 14 (limit: 4626)
     Memory: 76.9M
        CPU: 703ms
     CGroup: /system.slice/mariadb.service
             └─32296 /usr/sbin/mariadbd

Nov 12 07:31:40 ip-10-2-40-39 /etc/mysql/debian-start[32335]: mysql
Nov 12 07:31:40 ip-10-2-40-39 /etc/mysql/debian-start[32335]: performance_schema
Nov 12 07:31:40 ip-10-2-40-39 /etc/mysql/debian-start[32335]: Phase 6/7: Checking and upgrading tables
Nov 12 07:31:40 ip-10-2-40-39 /etc/mysql/debian-start[32335]: Processing databases
Nov 12 07:31:40 ip-10-2-40-39 /etc/mysql/debian-start[32335]: information_schema
Nov 12 07:31:40 ip-10-2-40-39 /etc/mysql/debian-start[32335]: performance_schema
Nov 12 07:31:40 ip-10-2-40-39 /etc/mysql/debian-start[32335]: Phase 7/7: Running 'FLUSH PRIVILEGES'
Nov 12 07:31:40 ip-10-2-40-39 /etc/mysql/debian-start[32335]: OK
Nov 12 07:31:40 ip-10-2-40-39 /etc/mysql/debian-start[32945]: Checking for insecure root accounts.
Nov 12 07:31:40 ip-10-2-40-39 /etc/mysql/debian-start[32952]: Triggering myisam-recover for all MyISAM tables and aria-recover for all Aria tables

3. Konfigurace MariaDB

U nových instalací MariaDB je dalším krokem spuštění přiloženého bezpečnostního skriptu. Tento skript mění některé méně bezpečné výchozí možnosti. Použijeme jej k zablokování vzdáleného rootu přihlášení a odstranění nepoužívaných uživatelů databáze.

Spusťte bezpečnostní skript:

sudo mysql_secure_installation

To vás provede řadou výzev, kde můžete provést nějaké změny v možnostech zabezpečení instalace MariaDB. První výzva vás požádá o zadání kořenového adresáře aktuální databáze Heslo. Protože jsme ještě žádný nenastavili, stiskněte ENTER pro označení „žádné“.

Další výzva se vás zeptá, zda chcete nastavit databázi root Heslo. Zadejte N a poté stiskněte ENTER . V Debianu kořen účet pro MariaDB je úzce svázán s automatizovanou údržbou systému, takže bychom neměli měnit nakonfigurované metody ověřování pro tento účet. Pokud tak učiníte, aktualizace balíčku by mohla narušit databázový systém odebráním přístupu k účtu správce. Později se budeme zabývat tím, jak volitelně nastavit další administrátorský účet pro přístup pomocí hesla, pokud autentizace soketu není pro váš případ použití vhodná.

Odtud můžete stisknout Y a poté ENTER přijmout výchozí hodnoty pro všechny následující otázky. Tím se odstraní někteří anonymní uživatelé a testovací databáze, deaktivuje se vzdálený root přihlášení a načtěte tato nová pravidla, aby MariaDB okamžitě respektovala změny, které jste provedli.

Toto je výstup mého serveru

$ sudo mysql_secure_installation

NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
      SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!

In order to log into MariaDB to secure it, we'll need the current
password for the root user. If you've just installed MariaDB, and
haven't set the root password yet, you should just press enter here.

Enter current password for root (enter for none):
OK, successfully used password, moving on...

Setting the root password or using the unix_socket ensures that nobody
can log into the MariaDB root user without the proper authorisation.

You already have your root account protected, so you can safely answer 'n'.

Switch to unix_socket authentication [Y/n]
Enabled successfully!
Reloading privilege tables..
 ... Success!


You already have your root account protected, so you can safely answer 'n'.

Change the root password? [Y/n] Y
New password:
Re-enter new password:
Password updated successfully!
Reloading privilege tables..
 ... Success!


By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them.  This is intended only for testing, and to make the installation
go a bit smoother.  You should remove them before moving into a
production environment.

Remove anonymous users? [Y/n] Y
 ... Success!

Normally, root should only be allowed to connect from 'localhost'.  This
ensures that someone cannot guess at the root password from the network.

Disallow root login remotely? [Y/n] Y
 ... Success!

By default, MariaDB comes with a database named 'test' that anyone can
access.  This is also intended only for testing, and should be removed
before moving into a production environment.

Remove test database and access to it? [Y/n] Y
 - Dropping test database...
 ... Success!
 - Removing privileges on test database...
 ... Success!

Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.

Reload privilege tables now? [Y/n] Y
 ... Success!

Cleaning up...

All done!  If you've completed all of the above steps, your MariaDB
installation should now be secure.

Thanks for using MariaDB!

4. Volitelné:Úprava ověření uživatele a oprávnění

V systémech Debian se systémem MariaDB 10 je root Uživatel MariaDB je nastaven na ověřování pomocí unix_socket plugin ve výchozím nastavení, nikoli s heslem. To v mnoha případech umožňuje větší bezpečnost a použitelnost, ale může to také zkomplikovat věci, když potřebujete povolit externímu programu (např. phpMyAdmin) administrátorská práva.

Protože server používá root účtu pro úkoly, jako je rotace protokolu a spouštění a zastavování serveru, je nejlepší neměnit kořen ověřovací údaje účtu. Změna přihlašovacích údajů v /etc/mysql/debian.cnf konfigurační soubor může zpočátku fungovat, ale aktualizace balíčků mohou tyto změny potenciálně přepsat. Místo úpravy kořenového adresáře účtu, správci balíčků doporučují vytvořit samostatný administrátorský účet pro přístup na základě hesla.

Za tímto účelem vytvoříme nový účet s názvem admin se stejnými možnostmi jako root účet, ale nakonfigurován pro ověřování heslem. Chcete-li to provést, otevřete výzvu MariaDB z terminálu a vytvořte nového uživatele s rootem oprávnění a přístup na základě hesla. Změňte uživatelské jméno a heslo tak, aby odpovídalo vašim preferencím:

$ mysql -h 127.0.0.1 -u root -p
Enter password:
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 56
Server version: 10.5.12-MariaDB-0+deb11u1 Debian 11

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

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

MariaDB [(none)]> GRANT ALL ON *.* TO 'admin'@'localhost' IDENTIFIED BY 'T*[email protected]^RDibAc%puz' WITH GRANT OPTION;
Query OK, 0 rows affected (0.001 sec)

MariaDB [(none)]> FLUSH PRIVILEGES;

5. Testování MariaDB

Nyní, když je mariadb vše nastaveno a běží, musíme potvrdit, že může přijímat připojení.

Pro testování se připojte k mariadb s uživatelem root – mysql -h 127.0.0.1 -u root -p

Výstup:

$ mysql -h 127.0.0.1 -u root -p
Enter password:
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 54
Server version: 10.5.12-MariaDB-0+deb11u1 Debian 11

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

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

MariaDB [(none)]>

Zkontrolujte verzi mariadb:

MariaDB [(none)]> SELECT VERSION();
+---------------------------+
| VERSION()                 |
+---------------------------+
| 10.5.12-MariaDB-0+deb11u1 |
+---------------------------+
1 row in set (0.000 sec)

MariaDB [(none)]>

Pro další kontrolu se můžete zkusit připojit k databázi pomocí mysqladmin nástroj, což je klient, který umožňuje spouštět administrativní příkazy. Tento příkaz například říká, že se má připojit k MariaDB jako root a vraťte verzi pomocí soketu Unix:

sudo mysqladmin version

Měli byste obdržet výstup podobný tomuto:

$ sudo mysqladmin version
mysqladmin  Ver 9.1 Distrib 10.5.12-MariaDB, for debian-linux-gnu on x86_64
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Server version		10.5.12-MariaDB-0+deb11u1
Protocol version	10
Connection		Localhost via UNIX socket
UNIX socket		/run/mysqld/mysqld.sock
Uptime:			1 hour 38 min 27 sec

Threads: 1  Questions: 490  Slow queries: 0  Opens: 171  Open tables: 28  Queries per second avg: 0.082

Protože jste nakonfigurovali samostatného administrátora s ověřováním heslem, můžete provést stejnou operaci zadáním:

mysqladmin -u admin -p version

To znamená, že MariaDB je spuštěna a že váš uživatel se může úspěšně ověřit.

Závěr

V této příručce jste nainstalovali MariaDB, aby fungovala jako SQL server. Během procesu instalace jste také zabezpečili server.


Debian
  1. Jak nainstalovat a nakonfigurovat Redis 6.0 na Debian 11

  2. Jak nainstalovat a zabezpečit MariaDB na Debian 11

  3. Jak nainstalovat a nakonfigurovat docker na Debian 11

  1. Jak nainstalovat a nakonfigurovat Mariadb 10 v Ubuntu 20.04

  2. Jak nainstalovat a nakonfigurovat Mariadb ve Fedoře 35

  3. Jak nainstalovat a nakonfigurovat MongoDB 5 na Debian 11

  1. Jak nainstalovat MariaDB na Debian 9

  2. Jak nainstalovat a nakonfigurovat VNC na Debian 9

  3. Jak nainstalovat a nakonfigurovat Redis 6 na Debian 11