taxmachine.pl

Instalacja serwera MariaDB

Opublikowano aktualizacja

TaxMachine wykorzystuje serwer MariaDB (zalecany) lub MySQL jako silnik bazy danych przy pracy wielostanowiskowej oraz zdalnej. Poniżej krok po kroku, jak zainstalować i skonfigurować serwer w systemie Windows.

Wymagania i wybór wersji

  • System operacyjny: Windows 10 / 11 lub Windows Server 2016+ (64-bit). Linux i macOS są obsługiwane, ale instalacja zależy od dystrybucji — skorzystaj z dokumentacji wybranej dystrybucji.
  • Pamięć: minimum 2 GB RAM dedykowanej dla serwera (4 GB+ zalecane dla biur rachunkowych z kilkoma równoczesnymi użytkownikami).
  • Dysk: SSD (nie HDD) — przy księgowaniu kilkuset dokumentów miesięcznie różnica jest dramatyczna.
  • Wersja MariaDB: najnowsza stabilna LTS (Long-Term Support). Aktualnie zalecamy MariaDB 11.4 LTS (lub nowszą LTS jeśli już dostępna). Wersje *.RC (Release Candidate) i nieliczbowe ("rolling") nie są zalecane na produkcji.
  • Firewall: port 3306 (domyślny) — zob. sekcja Otwieranie portu w firewall-u niżej.

Pobieranie serwera MariaDB

Wejdź na stronę:

https://mariadb.com/downloads/community/

i pobierz najnowszą wersję LTS dla systemu Windows w wersji 64-bit. Pobierany plik to instalator MSI (~80 MB).

Image

Instalacja

Uruchom pobrany instalator. W większości typowych przypadków można pójść na domyślnych opcjach, z dwoma wyjątkami opisanymi niżej:

Hasło użytkownika root

Instalator poprosi o ustawienie hasła użytkownika administracyjnego root. Zapamiętaj je — będzie potrzebne do tworzenia nowych baz i użytkowników. Hasło powinno być silne (min. 12 znaków, mix wielkich/małych liter, cyfr, znaków specjalnych) — root ma pełne prawa nad każdą bazą na serwerze.

Service name + port

Domyślnie: MariaDB, port 3306. Zmieniaj tylko jeśli masz konflikt z innym lokalnym serwerem (np. Microsoft SQL Server na 1433 lub starszy MySQL na 3306).

max_allowed_packet

W oknie zaawansowanych opcji podnieś max_allowed_packet z domyślnych 16 MB do 200 MB. TaxMachine przy zapisie wiadomości KSeF / dużych załączników faktur potrafi wysłać pojedyncze wiersze powyżej 16 MB i wówczas serwer odrzuca połączenie. Można też zrobić to po instalacji (sekcja niżej).

Image

Zwiększenie parametru max_allowed_packet (po instalacji)

Jeśli nie ustawiono tego przy instalacji — zedytuj plik konfiguracyjny serwera my.ini (zwykle C:\Program Files\MariaDB <wersja>\data\my.ini).

W sekcji [mysqld] ustaw:

[mysqld]
max_allowed_packet = 200M

Zapisz plik. Następnie zrestartuj usługę MariaDB:

  • Win+R → services.msc → znajdź MariaDB → kliknij prawym → Uruchom ponownie (Restart)
  • albo z PowerShell jako admin: Restart-Service MariaDB

Image

Aktualną wartość parametru można sprawdzić w HeidiSQL po wykonaniu zapytania:

SHOW VARIABLES LIKE 'max_allowed_packet';

Image

Otwieranie portu w firewall-u Windows

Tylko gdy z serwera mają korzystać inne komputery w sieci lub stanowiska zdalne. Jeśli wszystkie stanowiska są na tej samej maszynie co serwer, ten krok pomijasz.

W PowerShell (jako administrator):

New-NetFirewallRule -DisplayName "MariaDB (TaxMachine)" `
  -Direction Inbound -Protocol TCP -LocalPort 3306 -Action Allow

Reguła otwiera port 3306 dla przychodzących połączeń. Dla większego bezpieczeństwa można ograniczyć źródłowe IP do sieci lokalnej — dodaj parametr -RemoteAddress 192.168.1.0/24 (dopasuj do swojego subnetu).

Test z innego komputera (PowerShell):

Test-NetConnection -ComputerName <ip-serwera> -Port 3306

TcpTestSucceeded : True = port otwarty i serwer odpowiada.

Tworzenie bazy danych

Uruchom HeidiSQL (instalowany razem z MariaDB) i dodaj sesję połączenia do swojego serwera (host: localhost lub IP, użytkownik: root, hasło ustawione przy instalacji):

Image

Po zalogowaniu kliknij prawym na nazwę serwera w drzewie po lewej → Utwórz nowąBazę danych:

Image

Wpisz nazwę (np. taxmachine), wybierz collation utf8mb4_polish_ci i kliknij OK:

Image

Tworzenie dedykowanego użytkownika (zalecane)

Mocno zalecamy niełączyć TaxMachine z bazą jako root — zamiast tego utwórz użytkownika z dostępem tylko do bazy programu. Korzyści:

  • przy ewentualnym wycieku hasła z konfiguracji programu, atakujący nie zniszczy innych baz na serwerze
  • audyt: w logach widać dokładnie, że to TaxMachine wykonał operację

W HeidiSQL: menu Narzędzia → Zarządzanie użytkownikami:

Image

Dodaj użytkownika np. taxmachine z silnym hasłem, ogranicz host do % (dowolny) lub konkretnego subnetu, w sekcji Uprawnienia obiektowe przyznaj wszystkie uprawnienia tylko na bazę taxmachine. Globalnych uprawnień nie zaznaczaj.

W ten sposób użytkownik widzi i może modyfikować tylko bazę programu — nawet SHOW DATABASES nie pokaże mu innych baz na serwerze.

Podłączanie z TaxMachine

W programie TaxMachine: menu Konfiguracja → Bazy danych → Dodaj wpisz parametry połączenia:

  • Typ: MariaDB / MySQL
  • Host: nazwa lub IP serwera (localhost jeśli ten sam komputer)
  • Port: 3306
  • Baza: taxmachine (nazwa utworzona wyżej)
  • Użytkownik: taxmachine (lub inny utworzony wyżej)
  • Hasło: jak ustawione

Image

Po zatwierdzeniu TaxMachine zapyta o utworzenie struktur tabel — zgódź się. Jeśli przenosisz dane z dotychczasowej bazy lokalnej, zrób to przez narzędzie konwersji baz danych.

Test połączenia

Z poziomu TaxMachine — wybierz nową bazę i sprawdź czy program się otwiera (loguje się do bazy, ładuje słowniki). Jeżeli widzisz komunikat o błędzie TCP/IP — sprawdź firewall (sekcja wyżej) i czy serwer MariaDB jest uruchomiony (services.msc).

Częste błędy:

  • „MySQL server has gone away" / „Lost connection during query" — zwykle właśnie max_allowed_packet za mały. Zob. MariaDB max_allowed_packet →.
  • „Access denied for user" — zła nazwa użytkownika, hasło, albo host z którego się łączysz nie jest dozwolony w grant-cie (sprawdź Zarządzanie użytkownikami w HeidiSQL).
  • „Can't connect to MySQL server" — port firewallowany albo serwis MariaDB nie wystartował (sprawdź services.msc).

Backup automatyczny

Zalecamy codzienny backup bazy wykonywany rano lub w nocy. Najprostsza ścieżka: zaplanowane zadanie Windows wykonujące mysqldump.

Plik backup-taxmachine.cmd:

@echo off
set BACKUP_DIR=D:\Backup\TaxMachine
set TIMESTAMP=%date:~0,4%%date:~5,2%%date:~8,2%
"C:\Program Files\MariaDB 11.4\bin\mysqldump.exe" ^
  -u taxmachine -pHASLO ^
  --single-transaction --routines --triggers ^
  taxmachine > %BACKUP_DIR%\taxmachine-%TIMESTAMP%.sql

Następnie Win+Rtaskschd.msc → utwórz zadanie codzienne uruchamiające ten skrypt. Stare backupy starsze niż 30 dni można usuwać przez forfiles.

Pełny opis kopii bazy: Kopie baz danych →.

Co dalej