Diferència entre revisions de la pàgina «ASIX/M02/UF3/A07»

De Lordwektabyte Wiki
Salta a la navegació Salta a la cerca
Línia 35: Línia 35:
 
</code> ja que la necessitarem per a poder crear un script d'automatització de ''backups''.
 
</code> ja que la necessitarem per a poder crear un script d'automatització de ''backups''.
 
{{imatge|M02UF3A07-5.png}}
 
{{imatge|M02UF3A07-5.png}}
 
+
Una vegada desats els canvis, reiniciarem el servei de mariadb amb <code>systemctl restart mariadb<code> per tal que recarregui la nova configuració.
 +
{{imatge|M10UF2A07-6.png||thumb|A partir d'ara, els canvis que fem a les BBDD quedaran reflectits en arxius del tipus <code>/var/log/mariadb/binary.xxxxxx</code> on ''xxxxxx'' correspondrà a l'índex d'aquell arxiu de logs i tindrem un altre arxiu <code>binary.index</code> que desarà solament el nom dels logs binaris ''vàlids'' en aquell moment}}
  
  

Revisió del 13:52, 12 juny 2018

Guillem Solà i Boeck (host A10BPC24)

La connexió a la màquina CentOS la faré a través de SSH, utilitzant el Yakuake. Si no es veu la resta de pantalla, és perquè utilitzo el Yakuake en mode de pantalla completa; no pas perquè modifiqui les imatges.

Exercici 1

Crea un sistema de còpies de seguretat per tal que no es perdi cap dada en cas de fallida del sistema.
Indica tots els passos que has fet.

Solució

Primer de tot instal·laré un servidor de bases de dades MariaDB amb

yum install mariadb-server -y
M02UF3A07-1.png


Una vegada instal·lat, activarem l'arrencada del servei amb systemctl enable mariadb i l'engegarem manualment amb systemctl start mariadb

M02UF3A07-2.png


Llavors posarem a punt el SGBD amb l'script de configuració inicial mysql_secure_installation

M02UF3A07-3.png


Finalment, haurem d'obrir el port del Firewall i permetre al SELinux d'accedir al SGBD, de manera que poguem connectar remotament al servidor des d'altres dispositius de xarxa (clients). En el meu cas, per simplicitat, desactivaré directament tant el firewall com el SELinux. Tot i que en un entorn real, en producció, seria millor obrir el port 3306 i aplicar la política corresponent al SELinux. Les comandes per desactivar el firewall i desactivar el SELinux són les següents:

systemctl stop firewalld     #Paro el servei de tallafoc
systemctl disable firewalld  #El deshabilito perquè no s'activi al fer ''reboot'' del servidor
setenforce 0                 #Desactivo el SELinux de manera temporal fins al pròxim reinici

Per desactivar el SELinux de manera persistent entre reinicis, hem d'editar el seu fitxer de configuració /etc/selinux/config amb qualsevol editor de text. On trobem el paràmetre SELINUX=enforcing ho substituirem per SELINUX=disabled

M02UF3A07-4.png


Amb això queda a punt el servidor per a poder començar a treballar amb bases de dades.

Per a poder muntar un sistema de còpies de seguretat robust, haurem d'activar els anomenats logs binaris de MariaDB. Aquests logs són els que s'aniran omplint a mida que es fan canvis a les bases de dades del sistema, entre comandes de còpia de seguretat completa. De manera que, per a poder restaurar el sistema en un punt de temps donat, necessitarem l'última còpia completa (executada amb mysqldump) conjuntament amb els arxius de logs binaris fins al moment de la fallada.
Per a activar els logs binaris, modificarem l'arxiu de configuració de MariaDB /etc/my.cnf.d/server.cnf i afegirem

[mysqld]
#Binary log
log_bin=/var/log/mariadb/binary.log

A sota la secció [mysqld]. Prendrem nota de la ruta on definim els logs per a desar-se: /var/log/mariadb/binary.log ja que la necessitarem per a poder crear un script d'automatització de backups.

M02UF3A07-5.png


Una vegada desats els canvis, reiniciarem el servei de mariadb amb systemctl restart mariadb per tal que recarregui la nova configuració.

A partir d'ara, els canvis que fem a les BBDD quedaran reflectits en arxius del tipus /var/log/mariadb/binary.xxxxxx on xxxxxx correspondrà a l'índex d'aquell arxiu de logs i tindrem un altre arxiu binary.index que desarà solament el nom dels logs binaris vàlids en aquell moment





Aleshores, l'script que farà la còpia de seguretat, per exemple, el podem desar com /root/backup_sql.sh el crearé i li posaré el següent contingut:

#!/bin/bash
mysqldump -u root -pasix --single-transaction --flush-logs  #asix és la contrasenya que he definit per a l'usuari ''root'' del SGBD
--master-data=2 --all-databases --delete-master-logs >
copies_seguretat/copia.db.$(date +%Y%m%d).sql.tar

Exercici 2

Amb MySQLWorkbench (des de l'amfitrió), crear un nou usuari amb nom "recuperacio" i password "recuperacio". Torna a connectar-te amb MySQLWorkbench amb aquest usuari i carrega la teva base de dades de la mediawiki, exporta-la a la màquina virtual.
Indica tots els passos que has fet.

Solució