Per crear MariaDB en un servidor Linux, instal·leu el paquet del servidor MariaDB, inicieu i assegureu el servei i, a continuació, creeu una base de dades i un usuari amb accés amb privilegis mínims. A Ubuntu/Debian, utilitzeu APT; a RHEL/AlmaLinux/Rocky, utilitzeu DNF/YUM.
Executeu mysql_secure_installation, configureu la xarxa si cal, activeu systemd i valideu amb una connexió de prova. Si voleu crear MariaDB en un Linux servidor per a llocs web, aplicacions o anàlisis, aquesta guia us ofereix un camí net i llest per a la producció.
Cobrirem la instal·lació en sistemes basats en Ubuntu/Debian i RHEL, la seguretat inicial, la creació bases de dades i usuaris, conceptes bàsics d'ajustament del rendiment, còpies de seguretat i resolució de problemes comuns mitjançant passos fàcils per a principiants que segueixen les millors pràctiques del sector.
Com a professional de l'allotjament, també us mostraré quan té sentit utilitzar un managed VPS d'un proveïdor com YouStable per descarregar el manteniment i centrar-vos en la vostra aplicació.
Requisits previs i requisits del sistema
Abans de crear MariaDB en un servidor Linux, assegureu-vos que teniu el següent:
- Una distribució de Linux compatible: Ubuntu 20.04/22.04/24.04, Debian 11/12, AlmaLinux/Rocky Linux 8/9, RHEL 8/9
- Accés arrel o sudo
- Índexs de paquets i paquets del sistema actualitzats
- Obre els ports si cal accés remot (per defecte TCP 3306)
- Dimensionament del servidor de referència: 1–2 vCPU, 2–4 GB RAM per a aplicacions petites; més per a càrregues de treball pesades
Instal·leu i configureu MariaDB - Pas a pas
Actualitza el sistema
# Ubuntu / Debian
sudo apt update && sudo apt -y upgrade
# RHEL / AlmaLinux / Rocky
sudo dnf -y updateInstal·leu MariaDB a Ubuntu/Debian (APT)
El camí més ràpid és el repositori de la distribució. Per a funcions més noves, feu servir el repositori oficial de MariaDB. Comenceu primer amb el repositori del sistema operatiu:
# Install from Ubuntu/Debian repository
sudo apt -y install mariadb-server mariadb-client
# Start and enable
sudo systemctl enable --now mariadb
# Check status
systemctl status mariadbPer instal·lar una versió específica (per exemple, LTS) des del repositori oficial de MariaDB:
# Add the official MariaDB repo (example for Ubuntu 22.04; adjust for your distro)
sudo apt -y install software-properties-common curl gnupg
curl -LsS https://r.mariadb.com/downloads/mariadb_repo_setup | sudo bash
# Install server and client
sudo apt -y install mariadb-server mariadb-client
sudo systemctl enable --now mariadbInstal·leu MariaDB a RHEL/AlmaLinux/Rocky (DNF/YUM)
Feu servir el repositori del sistema operatiu per a l'estabilitat o el repositori oficial de MariaDB per a versions més noves.
# OS repository (stable)
sudo dnf -y install mariadb-server
# Start and enable
sudo systemctl enable --now mariadb
# Status
systemctl status mariadbAlternativament, afegiu el repositori oficial de MariaDB per a una versió principal específica:
# Add official MariaDB repo
sudo dnf -y install curl
curl -LsS https://r.mariadb.com/downloads/mariadb_repo_setup | sudo bash
# Install and start
sudo dnf -y install MariaDB-server MariaDB-client
sudo systemctl enable --now mariadbAssegurar el servidor: mysql_secure_installation
Executeu l'script d'enfortiment integrat immediatament després de la instal·lació. Estableix la contrasenya d'arrel, elimina les bases de dades de prova i aplica valors predeterminats normals.
sudo mysql_secure_installationRespostes recomanades durant les preguntes:
- Estableix la contrasenya d'arrel: Sí
- Eliminar usuaris anònims: Sí
- No permet l'inici de sessió remot de root: Sí (tret que tinguis una necessitat estricta i garantida)
- Elimina la base de dades de prova: Sí
- Torna a carregar les taules de privilegis: Sí
Crear una base de dades i un usuari amb privilegis mínims
Inicieu la sessió a MariaDB i creeu la base de dades de l'aplicació i l'usuari amb els privilegis mínims necessaris.
# Log in as root (use sudo if required)
sudo mysql -u root -p
# Inside the MariaDB shell:
CREATE DATABASE appdb CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'appuser'@'localhost' IDENTIFIED BY 'Strong_Passw0rd!';
GRANT ALL PRIVILEGES ON appdb.* TO 'appuser'@'localhost';
FLUSH PRIVILEGES;
EXIT;Prova la connexió
mysql -u appuser -p -D appdb -e "SELECT VERSION() AS mariadb_version;"Habilita l'accés remot (opcional)
Només obriu l'accés remot si el servidor d'aplicacions és independent del servidor de base de dades i teniu un tallafocs, contrasenyes fortes i, idealment, una xarxa privada o VPN. Passos:
- Permet que MariaDB escolti totes les interfícies o una IP específica
- Crea un usuari vinculat a l'adreça IP del servidor d'aplicacions
- Obriu el port del tallafocs de manera segura
# Edit the MariaDB config (path may vary)
sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf # Ubuntu/Debian
# or
sudo nano /etc/my.cnf # RHEL-based
# Set
bind-address = 0.0.0.0 # or a specific LAN/VPC IP
# Restart MariaDB
sudo systemctl restart mariadb
# Create a remote user (replace 203.0.113.10 with your app server IP)
sudo mysql -u root -p -e "CREATE USER 'appuser'@'203.0.113.10' IDENTIFIED BY 'Strong_Passw0rd!'; GRANT ALL PRIVILEGES ON appdb.* TO 'appuser'@'203.0.113.10'; FLUSH PRIVILEGES;"Obriu el tallafocs amb cura:
# UFW (Ubuntu)
sudo ufw allow from 203.0.113.10 to any port 3306 proto tcp
# firewalld (RHEL/Alma/Rocky)
sudo firewall-cmd --add-rich-rule='rule family="ipv4" source address="203.0.113.10" port protocol="tcp" port="3306" accept' --permanent
sudo firewall-cmd --reloadInicia a l'arrencada i verifica
sudo systemctl enable mariadb
sudo systemctl status mariadb
ss -tulpn | grep 3306Conceptes bàsics de l'ajust del rendiment (valors predeterminats segurs)
Per a càrregues de treball petites o mitjanes, aquests ajustos bàsics milloren el rendiment i la consistència. Ajusteu-los a les vostres necessitats RAM i la càrrega de treball. Poseu-los en una configuració inclosa personalitzada (preferible) en comptes d'editar el fitxer principal.
# Ubuntu/Debian include file
sudo nano /etc/mysql/mariadb.conf.d/60-tuning.cnf
# RHEL-based include file
sudo nano /etc/my.cnf.d/60-tuning.cnf[mysqld]
# Use UTF-8 everywhere
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
# InnoDB (transactional engine)
innodb_buffer_pool_size = 1G # ~50–70% of RAM on a dedicated DB server
innodb_log_file_size = 256M
innodb_flush_log_at_trx_commit = 1
innodb_file_per_table = 1
# Connections
max_connections = 200
# Slow query logging
slow_query_log = 1
slow_query_log_file = /var/log/mysql/mariadb-slow.log
long_query_time = 1
# Networking
skip_name_resolve = 1# Apply changes
sudo systemctl restart mariadbCòpies de seguretat i restauracions (essencials)
- Còpies de seguretat lògiques: bo per a la portabilitat (mysqldump, mariadb-dump)
- Còpies de seguretat físiques/en calent: més ràpid per a grans conjunts de dades (Percona XtraBackup, MariaDB Backup)
- Automatitzar els dumps diaris i emmagatzemar-los fora del servidor (emmagatzematge d'objectes/S3)
# Dump a single database
mysqldump -u root -p --routines --events --single-transaction appdb > /backup/appdb_$(date +%F).sql
# Restore
mysql -u root -p appdb < /backup/appdb_YYYY-MM-DD.sql
# Dump all databases
mysqldump -u root -p --all-databases --single-transaction --routines --events > /backup/all_$(date +%F).sqlMonitorització i registres
- Registres de servei: journalctl -u mariadb
- Registre d'errors: /var/log/mysql/error.log (Ubuntu/Debian) o /var/log/mysqld.log (basat en RHEL)
- Consultes lentes: /var/log/mysql/mariadb-slow.log (tal com està configurat)
- Controls de salut: MOSTRA L'ESTAT GLOBAL, taules d'esquema_d'informació
# Basic health snapshot
mysql -u root -p -e "SHOW GLOBAL STATUS LIKE 'Threads_connected'; SHOW GLOBAL STATUS LIKE 'Uptime'; SHOW GLOBAL VARIABLES LIKE 'version';"Errors i correccions habituals
- No es pot connectar al local MySQL servidor a través del sòcol: Assegureu-vos que el servei estigui en execució (estat del systemctl mariadb) i que el client apunti al sòcol correcte (/var/run/mysqld/mysqld.sock).
- Accés denegat per a l'usuari: Verifiqueu la part d'amfitrió de l'usuari (per exemple, 'appuser'@'localhost' vs 'appuser'@'%'), restableixeu la contrasenya si cal i ELIMINEU ELS PRIVILEGIS.
- El port 3306 no escolta: Comproveu l'adreça de vinculació i els tallafocs; reinicieu MariaDB i verifiqueu amb ss -tulpn.
- Sense memòria o rendiment lent: Augmenta innodb_buffer_pool_size, revisa el registre de consultes lentes i afegeix índexs.
- Conflictes d'actualització: Si canvieu de la distribució al repositori oficial, elimineu completament els paquets antics (conservant el directori de dades), esborrar les memòries caui, a continuació, instal·leu la versió desitjada.
Consells del món real de producció
- Feu servir utf8mb4 per defecte per evitar problemes amb els emojis i el text multilingüe.
- Mantingueu l'aplicació i la base de dades en servidors o xarxes separats per a una millor seguretat i rendiment.
- Restringeix l'accés remot a la base de dades a IP fixes i utilitza VPN o subxarxes privades en entorns de núvol.
- Executeu revisions regulars de consultes lentes; la majoria dels guanys de rendiment provenen de millors índexs i consultes.
- Automatitzeu les còpies de seguretat nocturnes i les restauracions de prova mensualment.
Quan s'ha d'utilitzar un VPS gestionat (YouStable)
Si la gestió de pegats, còpies de seguretat i ajustaments resulta pesada, a managed VPS de YouStable podem ajudar. Nosaltres subministrem MariaDB amb seguretat valors predeterminats, monitorització contínua, instantànies i assistència 24 hores al dia, 7 dies a la setmana. Això vol dir que et centres en la teva aplicació mentre nosaltres ens encarreguem del temps de funcionament, l'optimització i la resposta a incidents. Demana al nostre equip que predimensioni el teu grup de memòria intermèdia i l'emmagatzematge per a la teva càrrega de treball.
Preguntes Freqüents
1. Com puc instal·lar MariaDB a Ubuntu, Debian o RHEL?
A Ubuntu/Debian: sudo apt install mariadb-server. A RHEL/Alma/Rocky: sudo dnf install mariadb-server. Per a funcions més noves, afegiu el repositori oficial de MariaDB mitjançant l'script mariadb_repo_setup i, a continuació, instal·leu i activeu el servei amb systemd.
2. Com puc assegurar MariaDB després de la instal·lació?
Executeu mysql_secure_installation, definiu una contrasenya d'arrel forta, elimineu els usuaris anònims i proveu les bases de dades, desactiveu l'inici de sessió remot d'arrel i activeu un tallafocs. Utilitzeu usuaris de base de dades amb privilegis mínims per a cada aplicació i roteu les credencials periòdicament.
3. Com puc crear una base de dades i un usuari a MariaDB?
Inicieu la sessió com a root i executeu: CREATE DATABASE appdb CHARACTER SET utf8mb4; CREATE USER 'appuser'@'localhost' IDENTIFIED BY 'pass'; GRANT ALL PRIVILEGES ON appdb.* TO 'appuser'@'localhost'; FLUSH PRIVILEGES;. Substituïu els noms i les contrasenyes adequadament.
4. Com puc habilitar l'accés remot de manera segura?
Establiu l'adreça de connexió a 0.0.0.0 o a una IP privada específica, creeu un usuari amb una IP d'origen fixa (per exemple, 'appuser'@'203.0.113.10') i permeteu el port 3306 des d'aquesta IP al tallafocs. Preferiu una xarxa privada o una VPN per evitar exposar la base de dades a Internet pública.
5. MariaDB és un substitut directe per a MySQL?
Per a la majoria de càrregues de treball LAMP/LEMP comunes, sí: MariaDB és altament compatible amb MySQL clients i sintaxi SQL. Les funcions avançades i els casos límit poden variar entre versions. Proveu sempre l'aplicació, sobretot si us baseu en elements específics MySQL complements o funcions més noves.
Seguint aquests passos, crearàs MariaDB de manera fiable en un servidor Linux, la protegiràs i mantindrà el seu bon rendiment. Quan estiguis a punt per escalar o prefereixis la no intervenció managementeix, YouStable pot aprovisionar i optimitzar un manageEntorn MariaDB adaptat a la vostra aplicació.