GNU/Linux >> Linux Esercitazione >  >> Cent OS

Installa MariaDB 10.0 su CentOS 6

MariaDB è un fork di MySQL sviluppato dalla community e mira a essere un sostituto drop-in migliorato per esso. È concesso in licenza GNU GPL e guidato dagli sviluppatori originali di MySQL come Monty Widenius. MariaDB sembra attiva per ora, ma hanno una quota di mercato molto inferiore rispetto a MySQL. A causa del grande slancio che MySQL ha avuto, c'è ancora molta comunità intorno ad esso, ma c'è una chiara tendenza che la maggior parte delle nuove attività nel mondo open source ruotino attorno a MariaDB e la maggior parte delle distribuzioni Linux ora vengono fornite con MariaDB come database compatibile con MySQL. Il seguente tutorial ti guiderà attraverso i passaggi per installare MariaDB 10.0 su CentOS 6. CentOS 6 è troppo vecchio? Sì, è vero, ma CentOS 6 è ancora supportato fino al 2020 con aggiornamenti di sicurezza e ci sono ancora molti server là fuori che lo utilizzano ma potrebbero aver bisogno di un database compatibile con MySQL più recente, ad es. per ospitare i più recenti sistemi CMS.

Prerequisiti

  1. Queste istruzioni sono destinate all'installazione di MariaDB 10.0 su un singolo nodo CentOS 6 (senza MySQL già installato).
  2. Come predefinito MariaDB l'installazione utilizza /var/lib/mysql directory in cui archiviare i tuoi database, tieni presente che la partizione o il volume logico associato a /var necessita di uno spazio adeguato.
  3. Backup del file di configurazione (solo sostituzione) :Allo stesso modo, si consiglia di fare una copia del file di configurazione corrente di MySQL/MariaDB se si sta sostituendo un'installazione corrente; questo file può essere trovato in /etc/mysql/my.cnf sui sistemi Debian/Ubuntu e /etc/my.cnf su sistemi CentOS. Su CentOS, il pacchetto MariaDB rimuoverà il file di configurazione una volta disinstallato, quindi questo passaggio è particolarmente importante su questi sistemi.
  4. Il resto di questo tutorial presuppone che tu sia connesso al tuo server con l'account utente root o un account utente con privilegi sudo. Per accedere alla shell di root da un altro account, esegui:
sudo su

Passaggio 1.  Configurazione del repository MariaDB

Dovresti assicurarti che i pacchetti disponibili siano aggiornati. Per questo, esegui semplicemente il seguente comando nel terminale:

yum -y update
Loaded plugins: fastestmirror
base | 3.6 kB 00:00
extras | 3.4 kB 00:00
updates | 3.4 kB 00:00
(1/4): base/7/x86_64/group_gz | 155 kB 00:00
(2/4): extras/7/x86_64/primary_db | 101 kB 00:00
(3/4): updates/7/x86_64/primary_db | 3.1 MB 00:00
(4/4): base/7/x86_64/primary_db | 5.3 MB 00:04
Determining fastest mirrors
* base: mirror.net.cen.ct.gov
* extras: mirror.es.its.nyu.edu
* updates: mirror.atlanticmetro.net
Resolving Dependencies
--> Running transaction check
---> Package openssl.x86_64 1:1.0.1e-51.el7_2.2 will be updated
---> Package openssl.x86_64 1:1.0.1e-51.el7_2.4 will be an update
---> Package openssl-libs.x86_64 1:1.0.1e-51.el7_2.2 will be updated
---> Package openssl-libs.x86_64 1:1.0.1e-51.el7_2.4 will be an update
--> Finished Dependency Resolution
Dependencies Resolved
================================================================================
Package Arch Version Repository Size
================================================================================
Updating:
openssl x86_64 1:1.0.1e-51.el7_2.4 updates 711 k
openssl-libs x86_64 1:1.0.1e-51.el7_2.4 updates 951 k
Transaction Summary
================================================================================
Upgrade 2 Packages
Total download size: 1.6 M
Downloading packages:
Delta RPMs disabled because /usr/bin/applydeltarpm not installed.
(1/2): openssl-1.0.1e-51.el7_2.4.x86_64.rpm | 711 kB 00:00
(2/2): openssl-libs-1.0.1e-51.el7_2.4.x86_64.rpm | 951 kB 00:00
--------------------------------------------------------------------------------
Total 2.3 MB/s | 1.6 MB 00:00
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Updating : 1:openssl-libs-1.0.1e-51.el7_2.4.x86_64 1/4
Updating : 1:openssl-1.0.1e-51.el7_2.4.x86_64 2/4
Cleanup : 1:openssl-1.0.1e-51.el7_2.2.x86_64 3/4
Cleanup : 1:openssl-libs-1.0.1e-51.el7_2.2.x86_64 4/4
Verifying : 1:openssl-libs-1.0.1e-51.el7_2.4.x86_64 1/4
Verifying : 1:openssl-1.0.1e-51.el7_2.4.x86_64 2/4
Verifying : 1:openssl-1.0.1e-51.el7_2.2.x86_64 3/4
Verifying : 1:openssl-libs-1.0.1e-51.el7_2.2.x86_64 4/4
Updated:
openssl.x86_64 1:1.0.1e-51.el7_2.4 openssl-libs.x86_64 1:1.0.1e-51.el7_2.4
Complete!

Ora aggiungi il repository MariaDB CentOS.

Crea un nuovo file di repository MariaDB /etc/yum.repos.d/mariadb.repo con nano:

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

E incolla il seguente testo per CentOS-6 32 Bit:

[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.0/centos6-x86
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1

Oppure incolla questo testo per CentOS-6 64 bit:

name = MariaDB
baseurl = http://yum.mariadb.org/10.0/centos6-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1

Quindi esci e salva il file premendo Ctrl+X, quindi Y.

Come puoi vedere nell'esempio sopra, include una riga gpgkey per recuperare automaticamente la chiave GPG che MariaDB usa per firmare i repository. Questa chiave è necessaria per verificare l'integrità dei download del pacchetto.

Nota : Per trovare quale repository dovresti utilizzare con il generatore di repository MariaDB.

Passaggio 2: Installazione di MariaDB 10 con Yum

Rimozione di MySQL (solo quando è installato)

Consiglio di rimuovere completamente tutte le vecchie versioni del server MySQL che potrebbero essere installate sul sistema e quindi eseguire l'aggiornamento a MariaDB senza conflitti.

Per verificare se MySQL è già installato, esegui il comando:

rpm -qa 'mysql*'

Se necessario, puoi rimuovere i pacchetti MySQL trovati prima di installare MariaDB usando i seguenti comandi:

yum list installed | grep mysql
yum remove mysql-client mysql-server mysql-common mysql-devel

E rimuovi i database MySQL:

rm -Rf /var/lib/mysql

Installa MariaDB 10

Per un'installazione server standard, dovrai scaricare e installare almeno il client , condiviso e server File RPM.

yum install MariaDB-server MariaDB-client -y

Dovresti vedere un output come il seguente:

Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: mirror.net.cen.ct.gov
* extras: mirror.es.its.nyu.edu
* updates: mirror.atlanticmetro.net
Resolving Dependencies
--> Running transaction check
---> Package mariadb.x86_64 1:5.5.44-2.el7.centos will be installed
--> Processing Dependency: perl(Sys::Hostname) for package: 1:mariadb-5.5.44-2.el7.centos.x86_64
--> Processing Dependency: perl(IPC::Open3) for package: 1:mariadb-5.5.44-2.el7.centos.x86_64
--> Processing Dependency: perl(Getopt::Long) for package: 1:mariadb-5.5.44-2.el7.centos.x86_64
--> Processing Dependency: perl(File::Temp) for package: 1:mariadb-5.5.44-2.el7.centos.x86_64
--> Processing Dependency: perl(Fcntl) for package: 1:mariadb-5.5.44-2.el7.centos.x86_64
--> Processing Dependency: perl(Exporter) for package: 1:mariadb-5.5.44-2.el7.centos.x86_64
--> Processing Dependency: /usr/bin/perl for package: 1:mariadb-5.5.44-2.el7.centos.x86_64
---> Package mariadb-server.x86_64 1:5.5.44-2.el7.centos will be installed
--> Processing Dependency: perl-DBI for package: 1:mariadb-server-5.5.44-2.el7.centos.x86_64
--> Processing Dependency: perl-DBD-MySQL for package: 1:mariadb-server-5.5.44-2.el7.centos.x86_64
--> Processing Dependency: perl(File::Path) for package: 1:mariadb-server-5.5.44-2.el7.centos.x86_64
--> Processing Dependency: perl(Data::Dumper) for package: 1:mariadb-server-5.5.44-2.el7.centos.x86_64
--> Processing Dependency: perl(DBI) for package: 1:mariadb-server-5.5.44-2.el7.centos.x86_64
--> Processing Dependency: libaio.so.1(LIBAIO_0.4)(64bit) for package: 1:mariadb-server-5.5.44-2.el7.centos.x86_64
--> Processing Dependency: libaio.so.1(LIBAIO_0.1)(64bit) for package: 1:mariadb-server-5.5.44-2.el7.centos.x86_64
--> Processing Dependency: libaio.so.1()(64bit) for package: 1:mariadb-server-5.5.44-2.el7.centos.x86_64
[...]
Installed:
mariadb.x86_64 1:5.5.44-2.el7.centos mariadb-server.x86_64 1:5.5.44-2.el7.centos
Dependency Installed:
libaio.x86_64 0:0.3.109-13.el7 perl.x86_64 4:5.16.3-286.el7
perl-Carp.noarch 0:1.26-244.el7 perl-Compress-Raw-Bzip2.x86_64 0:2.061-3.el7
perl-Compress-Raw-Zlib.x86_64 1:2.061-4.el7 perl-DBD-MySQL.x86_64 0:4.023-5.el7
perl-DBI.x86_64 0:1.627-4.el7 perl-Data-Dumper.x86_64 0:2.145-3.el7
perl-Encode.x86_64 0:2.51-7.el7 perl-Exporter.noarch 0:5.68-3.el7
perl-File-Path.noarch 0:2.09-2.el7 perl-File-Temp.noarch 0:0.23.01-3.el7
perl-Filter.x86_64 0:1.49-3.el7 perl-Getopt-Long.noarch 0:2.40-2.el7
perl-HTTP-Tiny.noarch 0:0.033-3.el7 perl-IO-Compress.noarch 0:2.061-2.el7
perl-Net-Daemon.noarch 0:0.48-5.el7 perl-PathTools.x86_64 0:3.40-5.el7
perl-PlRPC.noarch 0:0.2020-14.el7 perl-Pod-Escapes.noarch 1:1.04-286.el7
perl-Pod-Perldoc.noarch 0:3.20-4.el7 perl-Pod-Simple.noarch 1:3.28-4.el7
perl-Pod-Usage.noarch 0:1.63-3.el7 perl-Scalar-List-Utils.x86_64 0:1.27-248.el7
perl-Socket.x86_64 0:2.010-3.el7 perl-Storable.x86_64 0:2.45-3.el7
perl-Text-ParseWords.noarch 0:3.29-4.el7 perl-Time-HiRes.x86_64 4:1.9725-3.el7
perl-Time-Local.noarch 0:1.2300-2.el7 perl-constant.noarch 0:1.27-2.el7
perl-libs.x86_64 4:5.16.3-286.el7 perl-macros.x86_64 4:5.16.3-286.el7
perl-parent.noarch 1:0.225-244.el7 perl-podlators.noarch 0:2.5.1-3.el7
perl-threads.x86_64 0:1.87-4.el7 perl-threads-shared.x86_64 0:1.43-6.el7
Complete!

Quando il processo di installazione è completato, puoi avviare MariaDB. Tieni presente che il servizio MariaDB è denominato "mysql", quindi il comando seguente non è un errore di battitura.

service mysql start
Starting MySQL. SUCCESS!

Esegui questo comando per avviare MariaDB ad ogni avvio.

chkconfig mysql on

Puoi verificare la versione dell'installazione di MariaDB con il seguente comando:

mysql -V
mysql Ver 15.1 Distrib 10.0.24-MariaDB, for Linux (x86_64) using readline 5.1

Fin qui tutto bene!

Fase 3 – Protezione di MariaDB

Per impostazione predefinita, MariaDB non è protetto. Puoi proteggere MariaDB usando lo script mysql_secure_installation. Dovresti leggere attentamente i passaggi seguenti, imposteranno la password di root, rimuoveranno gli utenti anonimi, non consentiranno l'accesso root remoto e rimuoveranno il database di test e l'accesso per proteggere MariaDB. Si consiglia a tutti gli amministratori di eseguire questo script per assicurarsi che l'installazione di MySQL sia sicura. Sfortunatamente, lo script è interattivo e richiede la password di root, quindi non può essere facilmente incluso nel processo di compilazione. Si consiglia di rispondere yes a queste opzioni. Puoi leggere di più sullo script nella Knowledge Base di MariaDB.

Richiama mysql_secure_installation senza argomenti:

mysql_secure_installation

Verrà avviata una procedura che funziona con il metodo domanda-risposta e potrai applicare alcune personalizzazioni alla tua installazione di MariaDB. Di seguito è riportato un esempio di ciò che accadrà e alcune delle opzioni consigliate da utilizzare.

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

Per accedere a MariaDB per proteggerlo, avremo bisogno della password corrente per l'utente root. Se hai appena installato MariaDB e non hai ancora impostato la password di root, la password predefinita sarà vuota, quindi dovresti semplicemente premere invio qui.

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

L'impostazione della password di root assicura che nessuno possa accedere all'utente root di MariaDB senza la corretta autorizzazione.

Set root password? [Y/n] y
New password: ENTER YOUR PASSWORD
Re-enter new password: REPEAT YOUR PASSWORD
Password updated successfully!
Reloading privilege tables..
... Success!

Per impostazione predefinita, un'installazione di MariaDB ha un utente anonimo, consentendo a chiunque di accedere a MariaDB senza dover creare un account utente per loro. Questo è inteso solo per il test e per rendere l'installazione un po' più agevole. È necessario rimuovere l'accesso anonimo prima di passare a un ambiente di produzione.

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

Normalmente, root dovrebbe essere autorizzato a connettersi solo da 'localhost'. Ciò garantisce che qualcuno non possa indovinare la password di root sulla rete.

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

Per impostazione predefinita, MariaDB viene fornito con un database chiamato "test" a cui chiunque può accedere. Anche questo è inteso solo per test e deve essere rimosso prima di passare a un ambiente di produzione.

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

Il ricaricamento delle tabelle dei privilegi assicurerà che tutte le modifiche apportate finora abbiano effetto immediato.

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!

Ora devi riavviare MariaDB.

service mysql restart
Shutting down MySQL.. SUCCESS!
Starting MySQL. SUCCESS!

Questo è tutto. Accedi al server MariaDB e controlla i vecchi database e tabelle (se hai aggiornato da MySQL).

Per connetterti a MariaDB, esegui il comando riportato di seguito.

mysql -u root -p

In questo caso, ho specificato l'utente root con -u flag, quindi usa il -p flag in modo che MySQL richieda una password.

Quando ti viene chiesto, inserisci semplicemente la password che hai assegnato con il mysql_secure_installation  copione.

Ti verrà quindi presentata un'intestazione di benvenuto e il prompt di MariaDB.

Per un elenco dei comandi di MariaDB , digita help o \h al prompt:

General information about MariaDB can be found at
http://mariadb.org
List of all MySQL commands:
Note that all text commands must be first on line and end with ';'
? (\?) Synonym for `help'.
clear (\c) Clear the current input statement.
connect (\r) Reconnect to the server. Optional arguments are db and host.
delimiter (\d) Set statement delimiter.
edit (\e) Edit command with $EDITOR.
ego (\G) Send command to mysql server, display result vertically.
exit (\q) Exit mysql. Same as quit.
go (\g) Send command to mysql server.
help (\h) Display this help.
nopager (\n) Disable pager, print to stdout.
notee (\t) Don't write into outfile.
pager (\P) Set PAGER [to_pager]. Print the query results via PAGER.
print (\p) Print current command.
prompt (\R) Change your mysql prompt.
quit (\q) Quit mysql.
rehash (\#) Rebuild completion hash.
source (\.) Execute an SQL script file. Takes a file name as an argument.
status (\s) Get status information from the server.
system (\!) Execute a system shell command.
tee (\T) Set outfile [to_outfile]. Append everything into given outfile.
use (\u) Use another database. Takes database name as argument.
charset (\C) Switch to another charset. Might be needed for processing binlog with multi-byte charsets.
warnings (\W) Show warnings after every statement.
nowarning (\w) Don't show warnings after every statement.
For server side help, type 'help contents'

Per visualizzare un elenco dei database correnti che hai creato, utilizza il seguente comando:

SHOW DATABASES;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| test |
+--------------------+
4 rows in set (0.01 sec)

I database "information_schema", "performance_schema" e "mysql" sono impostati per impostazione predefinita e contengono dati di sistema del server MariaDB, queste tabelle dovrebbero essere lasciate sole a meno che tu non sappia cosa stai facendo.

Verifica lo stato del server del database:

status;

mysql Ver 15.1 Distrib 5.5.44-MariaDB, for Linux (x86_64) using readline 5.1
Connection id: 14
Current database:
Current user: [email protected]
SSL: Not in use
Current pager: stdout
Using outfile: ''
Using delimiter: ;
Server: MariaDB
Server version: 5.5.44-MariaDB MariaDB Server
Protocol version: 10
Connection: Localhost via UNIX socket
Server characterset: latin1
Db characterset: latin1
Client characterset: utf8
Conn. characterset: utf8
UNIX socket: /var/lib/mysql/mysql.sock
Uptime: 47 min 9 sec
Threads: 1 Questions: 32 Slow queries: 0 Opens: 4 Flush tables: 2 Open tables: 30 Queries per second avg: 0.011
--------------
MariaDB [(none)]>

La creazione di un database non lo seleziona per l'uso; devi farlo in modo esplicito. Per creare howtoforge il database corrente, utilizza questa istruzione:

USE howtoforge

Il tuo database deve essere creato solo una volta, ma devi selezionarlo per usarlo ogni volta che inizi una sessione MySQL. Puoi farlo emettendo un'istruzione USE come mostrato nell'esempio. In alternativa, puoi selezionare il database dalla riga di comando quando invochi MySQL. Basta specificare il suo nome dopo qualsiasi parametro di connessione che potrebbe essere necessario fornire. Ad esempio:

mysql -h host -u user -p howtoforge

NOTA: Tutti i nomi dei database, i nomi delle tabelle, i nomi dei campi delle tabelle fanno distinzione tra maiuscole e minuscole. Quindi dovresti usare nomi propri mentre dai qualsiasi comando SQL.

Per impostazione predefinita, tutte le operazioni MySQL eseguite tramite la riga di comando vengono eseguite sul database attualmente selezionato. Quale database è attualmente selezionato? Per scoprirlo emettere il seguente comando:

SELECT database();

Il tuo risultato potrebbe essere simile a questo:

+------------+
| database() |
+------------+
| NULL |
+------------+
1 row in set (0.00 sec)
MariaDB [(none)]>

Il risultato è nullo , il che significa che un database non è attualmente selezionato.

Ulteriori informazioni da seguire

Si consiglia di consultare le seguenti risorse per ulteriori informazioni su questo argomento. Sebbene questi siano forniti nella speranza che possano essere utili, tieni presente che non possiamo garantire l'accuratezza o la tempestività dei materiali ospitati esternamente.

  • Documentazione MariaDB
  • Manuale di riferimento di MySQL

Cent OS
  1. Come installare MariaDB su CentOS 7

  2. Installa MariaDB su CentOS 7

  3. Come installare PhpWiki su CentOS 7

  4. Come installare LiteCart su CentOS 7

  5. Installa MariaDB su CentOS 6.4

Come installare PHPList su CentOS 7

Come installare PHP-Fusion su CentOS 7

Come installare Tine 2.0 su CentOS 7

Come installare Nextcloud su CentOS 7

Come installare Seafile su CentOS 7

Come installare Concrete5 su CentOS 7