Come configurare MariaDB SSL e stabilire connessioni sicure da vari client. Installazione di MariaDB su Debian Installazione di mariadb

Ciao!

Appoggio pienamente la tua decisione! Ho migrato i miei server su MariaDB da MySQL 3 anni fa e non in senso positivo. Le versioni di MySQL sono peggiorate sempre di più dopo che Oracle l'ha acquistata. Crash ed errori costanti nelle tabelle hanno avuto un impatto negativo sulla disponibilità dei siti, quindi è stata presa la decisione di passare a MariaDB.

Il risultato è completamente giustificato: MariaDB è molto stabile e ben ottimizzata; Un uptime di tre anni senza interruzioni su più server lo dimostra perfettamente.

Selezionando la versione di MariaDB

  • /var/run/php5-fpm.sock dovrebbe essere già presente sul server? in Ubuntu 16.04 non ho trovato un file del genere in /var/run
  • Esistono 2 rami di MariaDB: 5.x e 10.x.

    5.x sono le versioni più vicine possibile alle ultime versioni di MySQL; sono pienamente compatibili con MySQL; Se stai passando a MariaDB da MySQL, questa linea di versioni fa al caso tuo.

    10.x- nuova linea versioni iniziate dopo la versione 5.5. Queste versioni non copiano completamente tutte le nuove funzionalità delle ultime versioni di MySQL, ma contengono caratteristiche uniche. Sono ancora compatibili con MySQL, ma se stai appena iniziando a utilizzare MariaDB, è meglio iniziare con la versione 5.5.

    Installazione di MariaDB su un server Linux

    Le distribuzioni MariaDB solitamente non sono incluse nei repository delle principali distribuzioni Linux (ad esempio CentOS 6 e CentOS 7). Ma, anche se ci fossero, è meglio installare il repository nativo MariaDB sul sistema per averlo sempre versioni attuali. Per installare il repository yum, seguire le istruzioni:

    1. Crea nuovo file repository utilizzando il comando:

    vi /etc/yum.repos.d/MariaDB.repo

    Premere il tasto i per accedere alla modalità di modifica dell'editor vi.

    2. Ottieni il file di testo per la tua versione della distribuzione Linux da questo collegamento. Dovrai selezionare il nome della distribuzione, la sua versione e il bit:

    Copia il testo per il file del repository, incollalo nel tuo file e premi ":wq" per uscire dall'editor vi e salvare.

    Ora puoi installare MariaDB Server e i programmi d'ambiente usando yum:

    yum installa il server MariaDB il client MariaDB

    Per MySQL è possibile installare librerie per vari linguaggi di programmazione e sono completamente compatibili. Ad esempio, per PHP:

    Ora devi avviare il server MariaDB installato e procedere a configurarlo:

    Se hai fatto tutto correttamente, vedrai questo messaggio:

    Configurazione di MariaDB

    Per iniziare normalmente con MariaDB, è necessario impostare una password di root. Ti parlerò in dettaglio della messa a punto e dell'ottimizzazione del database in un articolo apposito, queste non sono cose prioritarie;

    Configurazione iniziale della password root MySQL:

    Il modo più semplice per impostare la password di root è utilizzare uno script speciale, incluso nella distribuzione MariaDB:

    /usr/bin/mysql_secure_installation

    Segui le istruzioni e imposta una password di root.

    Se hai domande o hai bisogno di chiarimenti, fai una domanda o lascia un commento.

    Sono sempre felice di aiutarti!

    Penso che tutti sappiano che MariaDB è un ramo di MySQL. MariaDB è sviluppato e supportato da MariaDB Corporation Ab e dalla MariaDB Foundation. Lo sviluppatore principale di MariaDB è il noto Michael Widenius, l'autore della versione originale di MySQL.

    La versione attuale è quella rilasciata il 13 febbraio 2018. Nella nuova versione di MariaDB, lo store InnoDB è stato aggiornato alla versione 5.7.21 e sono stati corretti più di 100 bug, inclusi quelli che potevano essere utilizzati per avviare un rifiuto di servizio remoto.

    Proviamo a installare la nuova versione su un sistema Debian 9.3 (Stretch) pulito.

    Non nascondo il fatto che mi piace molto MariaDB e da tempo ho abbandonato Oracle MySQL in favore di MariaDB o Percona Server for MySQL, e non me ne pento neanche un po'. MariaDB viene utilizzato in sostituzione di Oracle MySQL in molte distribuzioni Linux. MariaDB viene utilizzato anche come database su un gran numero di siti di grandi dimensioni, infatti il ​​mio blog non fa eccezione: utilizzo MariaDB 10.2 come database.

    Dati iniziali: sistema operativo Debian 9.3 (allungato);
    Compito: Installa MariaDB 10.2.13 con il minimo sforzo ed esegui la configurazione di base del database;

    Puoi trovare molti articoli su Internet su come installare MariaDB su Debian, ma offrono tutti soluzioni piuttosto macchinose.
    C'è anche, ma non contiene soluzione semplice, ma esiste!

    Installazione di MariaDB 10.2.13 su Debian 9:

    1. Installazione delle apparecchiature aggiuntive necessarie. Pacchetti:

    Apt-get update apt-get install dirmngr wget -y

    2. E ora la semplice magia che non è scritta da nessuna parte: scaricare ed eseguire lo script di installazione del repository:

    Wget https://downloads.mariadb.com/MariaDB/mariadb_repo_setup && chmod a+x mariadb_repo_setup ./mariadb_repo_setup --mariadb-server-version=10.2

    Per informazioni:
    Questo script analizzerà il tuo sistema, installerà le chiavi GPG e aggiungerà il repository al file /etc/apt/sources.list.d/mariadb.list
    Lo script è ufficiale e supporta le distribuzioni: RHEL/CentOS 6 e 7, Ubuntu 16.04 LTS (xenial) e 18.04 (bionic), Debian 8 (jessie) e 9 (stretch) e SLES 12 e 15
    Lo script supporta anche l'installazione di repository per diverse versioni di MariaDB, MaxScale e MariaDB Tools. Puoi scaricarlo e vedere tutte le opzioni di avvio:

    ./mariadb_repo_setup --help

    PS Per coloro a cui piace fare tutto a mano, dove puoi selezionare in modo più flessibile il repository desiderato a seconda della posizione geografica del tuo server.

    3. Aggiorna l'elenco dei pacchetti:

    Apt-ottieni aggiornamento

    4. Installa ultima versione MariaDB 10.2.x:

    Apt-get install mariadb-server -y

    Durante il processo di installazione, il programma di installazione ci chiederà di creare una password. utente root, in questa fase lo lasceremo vuoto e lo modificheremo in seguito.

    Dopo l'installazione, controlla lo stato di MariaDB:

    # systemctl status mariadb ● mariadb.service - server database MariaDB 10.2.13 Caricato: caricato (/lib/systemd/system/mariadb.service; abilitato; preimpostazione del fornitore: abilitato) Drop-In: /etc/systemd/system/mariadb. service.d └─migrated-from-my.cnf-settings.conf Attivo: attivo (in esecuzione) da gio 2018-02-15 12:14:17 +05; 19 secondi fa Documenti: man:mysqld(8) https://mariadb.com/kb/en/library/systemd/ PID principale: 7270 (mysqld) Stato: "Prendo le tue richieste SQL ora..." CGroup: /system. slice/mariadb.service └─7270 /usr/sbin/mysqld # netstat -ltupn | grep mysql tcp 0 0 127.0.0.1:3306 0.0.0.0:* ASCOLTA 7270/mysqld # ps -ef | grep [m]ysql mysql 7270 1 0 12:14 ? 00:00:00 /usr/sbin/mysqld

    Proveremo anche a connetterci al database utilizzando il comando mysql (poiché in fase di installazione abbiamo lasciato vuota la password di root, non utilizzeremo le opzioni -u root -p):

    # mysql Benvenuti nel monitor MariaDB. I comandi terminano con ; oppure\g. Il tuo ID di connessione MariaDB è 10 Versione server: 10.2.13-MariaDB-10.2.13+maria~stretch-log Distribuzione binaria di mariadb.org Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab e altri. Digita "aiuto;" o "\h" per chiedere aiuto. Digitare "\c" per cancellare l'istruzione di input corrente. MariaDB [(nessuno)]>

    Ci siamo connessi con successo al server MariaDB.

    5. Ora lanciamo la Configurazione guidata della sicurezza:

    Mysql_secure_installation

    Alla domanda:
    Inserisci la password corrente per root (inserisci per nessuno):
    Premi Invio, la password di root corrente è vuota.

    E l'ultima domanda:
    Ricaricare le tabelle dei privilegi adesso?
    inserisci Y, sì, vogliamo ricaricare la tabella dei privilegi affinché abbiano effetto.

    Successivamente, abbiamo adottato le misure di sicurezza minime sulla nostra istanza MariaDB.

    Proviamo ora a connetterci al database:

    # mysql ERRORE 1045 (28000): Accesso negato per l'utente "root"@"localhost" (utilizzando la password: NO)

    Come possiamo vedere, con una password di root vuota non siamo più ammessi.

    Connettiamoci specificando opzioni aggiuntive e inserendo una password:

    # mysql -u root -p Inserisci la password: Benvenuto nel monitor MariaDB. I comandi terminano con ; oppure\g. Il tuo ID di connessione MariaDB è 20 Versione server: 10.2.13-MariaDB-10.2.13+maria~stretch-log Distribuzione binaria di mariadb.org Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab e altri. Digita "aiuto;" o "\h" per chiedere aiuto. Digitare "\c" per cancellare l'istruzione di input corrente. MariaDB [(nessuno)]>

    Ottimo, tutto ha funzionato.

    Questo è tutto, a presto. Se hai qualche domanda o vuoi che ti aiuti, puoi sempre.

    In questo articolo vedremo come installare e configurare Linux, Apache, MariaDB, PHP su Centos7 / RHEL 7. Ci sono molti cambiamenti nella nuova versione di Centos7 / RHEL 7.

    Cos'è la LAMPADA?

    LAMPADA - impostato Software su un sistema operativo composto dal sistema operativo Linux, dal server web Apache, dal server del database MySQL e dal linguaggio Programmazione PHP(o Perl/Python). LAMP viene utilizzato per eseguire siti Web dinamici pesanti costituiti interamente da software open source gratuito codice sorgente. In questo articolo spiegherò come Linux, Apache, MySQL/MariaDB (sostituto di MySQL), PHP (LAMP) vengono installati su CentOS 7 o RHEL 7.

    • Installa il server RHEL 7 o CentOS 7. Apri un terminale sul server tramite ssh, devi avere i diritti di superutente root.
    • Avrai anche bisogno della conoscenza dei comandi yum
    • Avrai bisogno dell'indirizzo IP del tuo server, usa il seguente comando per determinare l'indirizzo IP per l'interfaccia eth0
    ifconfig eth0 o ip a show eth0 o ip addr list eth0 | awk "/inet /(sub(/\/+/,"",$2); print $2)" o ifconfig eth0 | awk "/inet /(stampa $2)" 10.180.10.10
    • Utilizzeremo l'indirizzo IP risultante 10.180.10.10 per testare l'installazione

    Quindi iniziamo

    Installazione di Apache su un server CentOS 7 /RHEL 7

    Per installare il server web utilizziamo il comando

    Yum installa httpd

    Abilita il servizio HTTPd all'avvio

    systemctl abilita httpd.service ln -s "/usr/lib/systemd/system/httpd.service" "/etc/systemd/system/multi-user.target.wants/httpd.service"

    Per disattivare i download automatici

    Systemctl disabilita httpd.service rm "/etc/systemd/system/multi-user.target.wants/httpd.service"

    Avvia il servizio HTTPd su CentOS 7/RHEL 7

    systemctl avvia httpd.service

    A questo punto puoi puntare il tuo browser web all'indirizzo IP del tuo server, http://10.180.10.10. Vedrai pagina iniziale Apache:

    Arresto del servizio HTTPd su CentOS 7/RHEL 7

    systemctl interrompe httpd.service

    Riavvio del servizio HTTPd su CentOS 7 / RHEL 7

    Visualizza lo stato del servizio Apache su CentOS 7/RHEL 7

    Assicurati che il server web sia in esecuzione

    Stato Systemctl httpd.service

    Inoltre, è possibile riavviare il server Web con il seguente comando

    Apachectl grazioso

    Controllo di apache/httpd per errori di configurazione su Centos 7/RHEL 7

    Test di configurazione Apachectl

    Configurazione server HTTPD predefinita:

    1. File di configurazione predefinito: /etc/httpd/conf/httpd.conf
    2. File di configurazione per i moduli caricati: /etc/httpd/conf.modules.d/ (ad esempio, PHP)
    3. Seleziona MPM come moduli ed eventi caricabili: /etc/httpd/conf.modules.d/00-mpm.conf
    4. Porte standard: 80 e 443 (SSL)
    5. File di registro predefiniti: /var/log/httpd/(access_log,error_log)

    Installazione di MariaDB su un server CentOS 7/RHEL

    MariaDB è un sostituto aggiornato di Server MySQL. Su RHEL/CentOS 7, viene utilizzato il sistema di gestione del database MariaDB al posto di MySQL. Inserisci il seguente comando yum per installare il server MariaDB:

    Yum installa mariadb-server mariadb

    Per avviare MariaDB, utilizzare il comando:

    Systemctl avvia mariadb.service

    Per garantire che il servizio MariaDB si avvii automaticamente durante l'avvio, immettere:

    Systemctl abilita mariadb.service

    Uscita del comando

    Ln -s "/usr/lib/systemd/system/mariadb.service" "/etc/systemd/system/multi-user.target.wants/mariadb.service"

    Per arrestare/riavviare e disabilitare MariaDB utilizzare i seguenti comandi:

    Sudo systemctl stop mariadb.service #-- Arresta il server mariadb sudo systemctl restart mariadb.service #-- Riavvia il server mariadb sudo systemctl disattiva mariadb.service #-- Disabilita il caricamento automatico del server mariadb sudo systemctl is-active mariadb.service #-- Controlla l'esecuzione c'è un server?

    Primo lancio di MariaDB

    Inserisci il seguente comando:

    /usr/bin/mysql_secure_installation

    Rispondendo alle domande sarai in grado di configurare la sicurezza iniziale del database

    Verifica la tua installazione di MariaDB

    Immettere il comando seguente

    Mysql -u root -p

    Esempio di output:

    Installazione di PHP su CentOS 7 / RHEL 7

    Per installare PHP e moduli come GD/mysql inserisci il seguente comando

    Yum installa php php-mysql php-gd php-pear

    È necessario riavviare il server HTTPD (Apache), inserire:

    Systemctl riavvia httpd.service

    Per cercare tutti gli altri moduli PHP:

    Yum cerca php-

    Per ottenere di più informazioni dettagliate riguardo al modulo:

    Yum informazioni php-pgsql

    Controllo PHP sul server

    Crea un file chiamato /var/www/html/test.php in questo modo:

    Vi /var/www/html/test.php

    Aggiungi il seguente codice:

    Il server LAMP è installato, se hai problemi con la configurazione del server, eseguiamo un lavoro una tantum sull'installazione e la configurazione del server web LAMP.

    Oggi solleveremo uno dei ruoli più ricercati di tutti server Linux, che occupano un ruolo di primo piano in questo segmento funzionale. Configurazione Web Server CentOS 7 basato su una combinazione del popolare server http apache, interprete php e server di database mysql o brevemente: installazione della lampada. Questa combinazione è la configurazione più popolare tra i web hosting oggi. Anche se ultimamente la stessa azienda è stata alle calcagna, ma sulla base di nginx potrebbe essere già andata avanti, non ho dati precisi al riguardo.

    Questo articolo fa parte di un'unica serie di articoli sul server.

    Server Web su CentOS 7

    Quindi, il nostro server web centos sarà composto da tre componenti principali: server http apache, interprete del linguaggio di programmazione php e server di database mysql. Conosciamoli un po' ciascuno:

    1. Apache- Server http o semplicemente server web Apache. È un software multipiattaforma che supporta quasi tutti i più diffusi sistema operativo, incluso Windows. È apprezzato soprattutto per la sua affidabilità e flessibilità di configurazione, che può essere notevolmente ampliata grazie ai moduli plug-in, di cui ce ne sono moltissimi. Tra gli svantaggi notano che sono più esigenti in termini di risorse rispetto ad altri server. Apache non sarà in grado di supportare lo stesso carico di, ad esempio, nginx con parametri hardware simili.
    2. PHPè un linguaggio di programmazione generico che viene spesso utilizzato nello sviluppo web. Oggi è la lingua più popolare in questo ambito applicativo. Supportato da quasi tutti i provider di hosting.
    3. mysql— sistema di gestione della banca dati. Ha guadagnato popolarità tra le applicazioni di piccole e medie dimensioni, di cui ce ne sono molte sul web. Quindi, come PHP, oggi è il database più popolare utilizzato sui siti web. Supportato dalla maggior parte dei provider di hosting. Su CentOS è installato al posto di mysql mariadb- fork di mysql. Sono completamente compatibili; puoi passare da un database all'altro e viceversa in qualsiasi momento. Ultimamente mi sono imbattuto in informazioni secondo cui mariadb funziona più velocemente di mysql e le persone si stanno lentamente spostando verso di esso. In pratica non ho avuto l'opportunità di osservarlo, poiché non ho mai lavorato con database caricati. Ma in condizioni normali la differenza non si nota.

    Il server sperimentale sarà , le caratteristiche sono le seguenti:

    processore2 nuclei
    Memoria8 GB
    DiscoSSD da 150 GB

    Questa è un'impostazione delle impostazioni personalizzate. Non sono ottimali nel prezzo, ma sono esattamente ciò di cui avevo bisogno.

    Tengo a precisare subito che sto analizzando l'impostazione base di default. Per migliorare le prestazioni, aumentare l'affidabilità e la facilità d'uso, è necessario installare molti altri strumenti, di cui parlerò separatamente. In generale, quanto contenuto in questo articolo sarà sufficiente per organizzare un server web.

    Se non hai ancora un server, devi eseguire . E se il server è già installato, non dimenticarlo. Consiglio di prestare attenzione alle impostazioni, poiché ci sono molte informazioni utili che non fornisco in questo articolo: aggiornamento del sistema, configurazione di un firewall, installazione di un editor e molto altro.

    Configurazione di apache su CentOS 7

    Su CentOS viene chiamato il servizio Apache httpd. Quando ho conosciuto per la prima volta questa distribuzione, era insolito per me. In Freebsd e Debian, con cui avevo lavorato in precedenza, il servizio del server web si chiamava apache, anche se ho notato da qualche parte, sembra nel software, che il file di configurazione si chiama httpd.conf. Ad oggi non so perché entrambi questi nomi si siano diffusi. Sarei felice se qualcuno condividesse informazioni a riguardo con me nei commenti.

    Ora cominciamo installazione di apache. In CentOS 7 questo viene fatto in modo molto semplice:

    # gnam installa -y httpd

    Aggiungi Apache all'avvio:

    # systemctl abilita httpd

    Avvia Apache su CentOS 7:

    # systemctl avvia httpd

    Controlla se il server è stato avviato:

    #netstat-tulnp | grep httpd tcp6 0 0:::80:::* ASCOLTA 21586/httpd

    Va tutto bene, si è bloccato sulla porta 80, come previsto. Ora puoi andare su http://indirizzo-ip e vedere l'immagine:

    Ora impostiamo Apache. Preferisco la seguente struttura di web hosting:

    Creiamo una struttura come questa:

    # mkdir /web && mkdir /web/site1.ru && mkdir /web/site1.ru/www && mkdir /web/site1.ru/logs # chown -R apache. /ragnatela

    IncludeOptionalconf.d/*.conf

    In caso contrario, decommentalo e vai alla directory /etc/httpd/conf.d. Creiamo lì un file site1.ru.conf:

    ServerName site1.ru ServerAlias ​​www.site1.ru DocumentRoot /web/site1.ru/www Opzioni FollowSymLinks ConsentiOverride tutto Richiedi tutto concesso ErrorLog /web/site1.ru/logs/error.log CustomLog /web/site1.ru/logs/access.log comune

    Riavvio di apache su centos

    Ora riavviamo Apache:

    # systemctl riavvia httpd

    Se si verificano errori, consultare il registro di Apache /var/log/httpd/error_log. Se tutto è in ordine, controlleremo se il nostro host virtuale è configurato normalmente. Per fare ciò, crea nella cartella /web/site1.ru/wwwfileindex.html il seguente contenuto:

    # mcedit /web/site1.ru/www/index.html

    Apache è pronto!

    #chownapache. /web/site1.ru/www/index.html

    192.168.1.25 sito1.ru

    dove 192.168.1.25 è l'indirizzo IP del nostro server web.

    Ora nel browser digitiamo l'indirizzo http://site1.ru. Se vediamo l'immagine:

    significa che tutto è configurato correttamente. Se ci sono errori, vai a guardare i log. Inoltre, in questo caso, non il registro httpd generale, ma il registro degli errori di un host virtuale specifico su /web/site1.ru/logs/error.log.

    Attirerò immediatamente la tua attenzione sull'impostazione della rotazione dei log dell'host virtuale. Accade spesso che se non lo imposti subito, te ne dimentichi. Ma se il sito ha un buon traffico, i log cresceranno rapidamente e potranno occupare molto spazio. È preferibile impostare la rotazione dei registri del server Web immediatamente dopo la creazione. Non è difficile farlo.

    Per configurare la rotazione del registro dell'host virtuale, è necessario modificare il file /etc/logrotate.d/httpd. Viene creato durante installazioni di apache e include l'impostazione della rotazione della posizione standard del registro. E poiché abbiamo trasferito i log di ciascun host virtuale in una cartella individuale, dobbiamo aggiungere queste cartelle a questo file:

    # mcedit /etc/logrotate.d/httpd /web/*/logs/*.log/var/log/httpd/*log ( missok notifempty sharedscripts delaycompress postrotate /bin/systemctl ricarica httpd.service > /dev/null 2>/dev/null || true endscript )

    In linea di principio il server web più semplice è già pronto e può essere utilizzato. Ma è improbabile che ora ci siano siti con contenuti statici che necessitano solo del supporto HTML. Quindi continuiamo con la nostra configurazione.

    Se è necessario organizzare il funzionamento del sito secondo il protocollo https, quindi utilizzare il manuale per .

    Installazione di php su CentOS 7

    Per supportare il contenuto dinamico del sito Web, facciamo il passaggio successivo. Installiamo php su CentOS 7:

    # gnam installa -y php

    E poi alcuni componenti più utili. Installiamo popolare moduli per php:

    # yum install -y php-mysql php-mbstring php-mcrypt php-devel php-xml php-gd

    Riavviamo apache:

    # systemctl riavvia httpd

    Creiamo un file nella directory dell'host virtuale e controlliamo lavoro php:

    # mcedit /web/site1.ru/www/index.php#chownapache. /web/site1.ru/www/index.php

    Vai su http://site1.ru/index.php

    Dovresti vedere l'output delle informazioni php. Se qualcosa non va, o si sono verificati degli errori, guarda il registro degli errori dell'host virtuale, ci saranno anche errori php.

    Dov'è php.ini?

    Dopo l'installazione, spesso sorge la domanda: dove vengono archiviati? impostazioni php? Tradizionalmente si trovano in un unico file di impostazioni. Su CentOS php.ini è in /etc, proprio alla radice. Lì puoi modificare le impostazioni globali per tutti gli host virtuali. Le impostazioni personali per ciascun sito possono essere effettuate separatamente nel file di configurazione dell'host virtuale creato in precedenza. Aggiungiamone alcuni lì impostazioni utili:

    # mcedit /etc/httpd/conf.d/site1.ru.conf

    Aggiungi alla fine, prima

    Php_admin_value date.timezone "Europa/Mosca" php_admin_value max_execution_time 60 php_admin_value upload_max_filesize 30M

    Per applicare le impostazioni è necessario riavviare Apache. Ora puoi vedere la modifica delle impostazioni nell'output di phpinfo.

    Aggiornamento a php 5.6 su CentOS 7

    Nel nostro esempio abbiamo installato su CentOS 7 php5.4 dal repository standard. E se ne avessimo bisogno di più? una nuova versione, Per esempio php5.6? In questo caso è necessario aggiornare php.

    # wget http://rpms.remirepo.net/enterprise/remi-release-7.rpm # rpm -Uvh remi-release-7*.rpm

    Ora aggiorna php 5.4 a php 5.6:

    # yum --enablerepo=remi,remi-php56 installa php php-common php-mysql php-mbstring php-mcrypt php-devel php-xml php-gd

    Riavvia Apache:

    # systemctl riavvia httpd

    E andiamo a guardare l'output di phpinfo - http://site1.ru/index.php

    Ottimo, abbiamo aggiornato php alla versione 5.6.

    Installazione di MySQL su CentOS 7

    Come ho scritto prima, il fork mysql sta diventando sempre più diffuso - mariadb. È completamente compatibile con MySQL, quindi puoi usarlo con sicurezza. Preferisco usarlo.

    Installazione di mariadb su CentOS 7:

    # yum install -y mariadb mariadb-server

    Aggiungi mariadb all'avvio automatico:

    # systemctl abilita mariadb.service

    Avvia mariadb:

    # systemctl avvia mariadb

    Controlliamo se è iniziato o meno:

    #netstat-tulnp | grep mysqld tcp 0 0 0.0.0.0:3306 0.0.0.0:* ASCOLTA 22276/mysqld

    Tieni presente che viene visualizzato nel sistema anche come servizio mysqld. Ora eseguiamo lo script di configurazione della sicurezza standard:

    # /usr/bin/mysql_secure_installation

    Non fornirò l'intero risultato di questo script, tutto è abbastanza semplice e chiaro. Innanzitutto, impostiamo una password per root (la password corrente dopo l'installazione è vuota), quindi eliminiamo gli utenti anonimi, disabilitiamo la possibilità di connettere root in remoto ed eliminiamo l'utente di test e il database.

    File impostazioni mysql/mariadb è presente /etc/mio.cnf. Per il lavoro normale sono sufficienti le impostazioni predefinite. Ma se decidi di cambiarli, non dimenticare di riavviare il servizio database.

    Riavvia mariadb/mysql su CentOS 7:

    # systemctl riavvia mariadb

    È tutto. La funzionalità di base del server web su CentOS 7 è configurata.

    Sarò felice di ricevere commenti sull'argomento dell'articolo. Permettimi di ricordarti che questo articolo fa parte di un'unica serie di articoli sul server.

    Laboratorio Kali Linux

    Il corso è rivolto a coloro che sono interessati a condurre penetration test e vogliono cimentarsi praticamente in situazioni vicine a quelle reali. Il corso è pensato per chi non ha ancora esperienza in informazioni di sicurezza. La formazione dura 3 mesi, 4 ore settimanali. Cosa ti darà questo corso:
    • Cerca e sfrutta vulnerabilità o difetti di configurazione in reti aziendali, siti web, server. Enfasi sul pentesting del sistema operativo Windows e sulla sicurezza del segmento aziendale.
    • Strumenti di apprendimento come metasploit, sqlmap, wireshark, burp suite e molti altri.
    • Padroneggiare gli strumenti Kali Linux in pratica, qualsiasi specialista della sicurezza informatica dovrebbe conoscerlo.
    Mettiti alla prova con il test d'ingresso e consulta il programma per maggiori dettagli.

    Ora ti dirò come installare MariaDB su Debian. Ti dirò anche come usarlo nel mio argomento “Installazione di MariaDB su Debian” tutto questo verrà descritto in dettaglio;

    MariaDB è un sostituto leggero di MySQL. MariaDB è simile a MySQL e mira ad esserlo scelta migliore per i professionisti di database che cercano soluzioni affidabili e scalabili server SQL. Questa guida aiuterà i principianti a installare e comprendere MariaDB su Debian 7 e 6. Per raggiungere questo obiettivo, la MariaDB Foundation lavora a stretto contatto e in collaborazione con un'ampia comunità di utenti e sviluppatori nel vero spirito del software libero e open source e rilascia software in formato in modo che fosse altamente affidabile.

    L'impulso per la sua creazione è stata la necessità di garantire lo stato libero del DBMS (sotto la licenza GPL), in contrasto con la vaga politica di licenza di MySQL da parte di Oracle. Lo sviluppatore principale è Michael Widenius, autore della versione originale di MySQL e fondatore di Monty Program AB.

    MariaDB ha abbandonato il sottosistema di archiviazione InnoDB e lo ha sostituito con XtraDB. Sono inclusi anche i sottosistemi Aria (en:Aria (storage engine)), PBXT e FederateX.

    Innanzitutto, aggiorniamo il sistema operativo (in modo che tutto sia nuovo):

    # apt-get aggiornamento # apt-get aggiornamento

    Installazione dei componenti aggiuntivi Python:

    # sudo apt-get install python-software-properties

    Installazione di MariaDB

    Per prima cosa devi importare la chiave GPG in modo che APT controlli l'integrità dei pacchetti e scarichi tutto:

    # apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xcbcb082a1bb943db

    Creiamo il nostro file Sources.list MariaDB per aggiungervi il repository:

    # vim /etc/apt/sources.list

    Installazione di MariaDB 5.5 per Debian 7 wheezy

    # Elenco dei repository MariaDB 5.5 - creato il 15/11/2014 17:08 UTC deb http://mirror.23media.de/mariadb/repo/5.5/debian wheezy main deb-src http://mirror.23media.de/mariadb /repo/5.5/debian wheezy main

    Installazione di MariaDB 5.5 per Debian 6 squeeze

    # Elenco dei repository MariaDB 5.5 - creato il 15/11/2014 alle 17:14 UTC deb http://mirror.23media.de/mariadb/repo/5.5/debian squeeze main deb-src http://mirror.23media.de/mariadb /repo/5.5/debian spremere main

    Installazione di MariaDB 10.0 per Debian 7 wheezy

    # Elenco dei repository MariaDB 10.0 - creato il 15/11/2014 17:21 UTC deb http://mirror.23media.de/mariadb/repo/10.0/debian wheezy main deb-src http://mirror.23media.de/mariadb /repo/10.0/debian wheezy main

    Installazione di MariaDB 10.0 per Debian 6 squeeze

    # Elenco dei repository MariaDB 10.0 - creato il 15/11/2014 17:22 UTC deb http://mirror.23media.de/mariadb/repo/10.0/debian squeeze main deb-src http://mirror.23media.de/mariadb /repo/10.0/debian squeeze main

    Installazione di MariaDB 10.1 per Debian 7 wheezy

    # Elenco dei repository MariaDB 10.1 - creato il 15/11/2014 17:23 UTC deb http://mirror.23media.de/mariadb/repo/10.1/debian wheezy main deb-src http://mirror.23media.de/mariadb /repo/10.1/debian wheezy main

    Installazione di MariaDB 10.1 per Debian 6 squeeze

    # Elenco dei repository MariaDB 10.1 - creato il 15/11/2014 alle 17:23 UTC deb http://mirror.23media.de/mariadb/repo/10.1/debian squeeze main deb-src http://mirror.23media.de/mariadb /repo/10.1/debian squeeze main

    Successivamente, aggiorniamo il sistema (elenco di tutti i repository) e installiamo il server con MariaDB:

    # sudo apt-get update # sudo apt-get install mariadb-server

    Dopodiché inizierà l'installazione del server MariaDB. Ho scelto la versione 10.0 e per questo motivo darò un esempio di installazione. Durante l'installazione ti verrà chiesto di inserire la password per l'utente MariaDB - root.

    Immettere la password e fare clic su OK. È necessario inserire anche il 2° orario (conferma). Il processo di installazione richiederà un paio di minuti.

    Utilizzando MariaDB

    In questa sezione imparerai come connettersi a MariaDB e come utilizzare i comandi SQL di base.

    Lo strumento standard per interagire con MariaDB è il programma client MySQL. Per iniziare, esegui il comando seguente per connetterti a MariaDB come root:

    # mysql -u root -p

    Inserisci la password che hai inserito (creato) durante l'installazione.

    Proviamo a creare un semplice database che poi popoleremo con i dati. Immettere i seguenti comandi per creare un database denominato TEST_DB, di cui sarà di proprietà Nuovo utente Test_User, imposteremo anche la password secret_password per l'utente con il comando:

    MariaDB [(nessuno)]> CREA DATABASE test_db; MariaDB [(none)]> CONCEDI TUTTI I PRIVILEGI SU test_db.* A test_user@localhost IDENTIFICATO DA "secret_password"; MariaDB [(nessuno)]> PRIVILEGI FLUSH; MariaDB [(nessuno)]> esci

    L'ultima riga (comando) esce dall'utente root su MariaDB. E ora accediamo come utente test_user:

    # mysql -u utenteprova -p

    Inseriamo il comando per utilizzare il database appena creato (test_db):

    MariaDB [(nessuno)]> USE test_db;

    Crea una nuova tabella e riempila con alcuni dati:

    MariaDB [(nessuno)]> CREATE TABLE prodotti (id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, nome VARCHAR(255), prezzo DECIMAL(6,2)); MariaDB [(none)]> INSERT INTO prodotti (nome, prezzo) VALUES ("MacBook_Pro", 3200.0); MariaDB [(nessuno)]> INSERT INTO prodotti (nome, prezzo) VALUES ("Asus", 340.0); MariaDB [(nessuno)]> INSERT INTO prodotti (nome, prezzo) VALUES ("HP", 745.0);

    Assicurati che i nuovi dati siano inseriti correttamente:

    MariaDB [(nessuno)]> SELECT * FROM prodotti;

    Esci dal client MariaDB eseguendo:

    MariaDB [(nessuno)]> esci

    Per ottenere Informazioni aggiuntive O Comandi SQL Fare:

    MariaDB [(nessuno)]>\h

    Configurazione di MariaDB

    Per configurare MariaDB è necessario modificare il file di configurazione. Questo file controlla la maggior parte delle variabili di sistema del server, che normalmente lasceresti come predefinite.

    # vim /etc/mysql/my.cnf

    riavviare il server eseguendo il seguente comando:

    # servizio riavvio mysql

    Sicurezza di MariaDB

    # mysql_secure_installation

    Ti verrà richiesto di modificare la password dell'amministratore, rimuovere gli utenti anonimi, disabilitare gli accessi all'esterno dell'host locale, eliminare tutti gli utenti anonimi ed eliminare il database di test. Si consiglia di rispondere "S" a tutte le domande.

    Connessioni di utenti remoti

    Diamo un'occhiata a come consentire al Test_User creato in precedenza di connettersi a MariaDB in remoto (per impostazione predefinita, MariaDB consente solo connessioni dall'host locale).

    L'esposizione del server MariaDB a Internet lo rende meno sicuro. Se devi connetterti da un altro server, assicurati di applicare regole del firewall che consentano solo connessioni da determinati indirizzi IP.
    Innanzitutto, dobbiamo fornire connessioni personalizzate agli host remoti per l'utente Test_user accedendo a MariaDB come root:

    # mysql -u root -p

    Consenti all'utente Test_User di connettersi da host remoti:

    MariaDB [(none)]> CONCEDI TUTTI I PRIVILEGI SU test_db.* A test_user@"%" IDENTIFICATO DA "secret_password"; MariaDB [(nessuno)]> PRIVILEGI FLUSH; MariaDB [(nessuno)]> esci

    Configurare MariaDB per ascoltare tutto interfacce di rete. Apri il file /etc/mysql/my.cnf:

    # vim /etc/mysql/my.cnf

    […]
    indirizzo di associazione = 0.0.0.0
    […]

    Riavviare il server:

    # servizio riavvio mysql

    Verifica della connessione con computer locale sul tuo server MariaDB, sostituendo Test_User con il tuo nome utente e test_domain.com con il tuo dominio o indirizzo IP:

    # mysql -u utente_prova -h dominio_prova.com -p

    Se hai effettuato l'accesso con successo, dovresti vedere il messaggio di saluto di MariaDB e il prompt della shell.

    Ottimizzazione di MariaDB

    Il sintonizzatore MySQL lo è attrezzo utile, che si connette a un'istanza MariaDB in esecuzione e fornisce consigli di configurazione in base al carico di lavoro. Devi consentire l'esecuzione dell'istanza MariaDB per almeno 24 ore prima di eseguire il sintonizzatore. Quanto più a lungo l'istanza è in esecuzione, tanto più miglior consiglio Il sintonizzatore ti offrirà.

    Installa il sintonizzatore MySQL eseguendo il comando seguente:

    # apt-get installa mysqltuner

    Avvia il sintonizzatore MySQL con il seguente comando:

    #mysqltune

    Dopodiché ti darà tante informazioni molto utili. Si prega di notare le raccomandazioni alla fine. Questo ti dirà cosa deve essere modificato (quali variabili devono essere configurate) nella sezione /etc/mysql/my.cnf del tuo file.

    Come reimpostare la password root di MariaDB?

    Se hai dimenticato la password del superutente (password root), puoi reimpostarla facilmente seguendo le istruzioni riportate di seguito.

    Arresta il server MariaDB:

    # servizio mysql stop

    Avvia il server con skip-grant-tables in modo da poter accedere a MariaDB senza password:

    # mysqld_safe --skip-grant-tables &

    Ora puoi connetterti al server MariaDB come root senza password:

    # mysql -u root

    Nel client MariaDB, inserisci i seguenti comandi per reimpostare la password di root ed uscire:

    MariaDB [(none)]> USA mysql MariaDB [(none)]> AGGIORNA utente SET password=PASSWORD("tuanuovapassword") DOVE utente="root"; MariaDB [(nessuno)]> PRIVILEGI FLUSH; MariaDB [(nessuno)]> esci

    Riavvia il server MariaDB:

    # servizio riavvio mysql

    Connettiti al server MariaDB utilizzando la nuova password:

    # mysql -u root -p

    L'installazione di MariaDB su Debian è completata. Spero che sia stato chiaro.



    
    Superiore