Instal·lant MariaDB 10.1 a Debian Jessie i executant diverses consultes MariaDB


Al nostre últim article, la història darrere de l'adquisició de MySQL i l'ascens de MariaDB va ser molt apreciada. En aquest article, ja hem parlat de la necessitat de bifurcar MySQL, l'auge de MariaDB, les seves característiques, un estudi comparatiu de MariaDB i MySQL, el moviment d'algunes de les empreses i empreses de renom mundial (Google, Viquipèdia) de MySQL a MariaDB. i molts altres aspectes tècnics i no tècnics.

Aquí instal·lem MariaDB 10.1 a Debian Jessie (Prova) i la provarem creant taules petites i executant diverses consultes en el procés d'aprenentatge i comprensió.

Instal·leu MariaDB 10.1 a Debian Jessie

Sota els sistemes Debian, és molt recomanable instal·lar el paquet python-software-properties, abans d'anar cap a la instal·lació de MariaDB des dels repositoris oficials.

# apt-get install python-software-properties

A continuació, importeu i registreu la clau GPG, que permet a apt verificar la integritat del programari que baixa.

# apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 0xcbcb082a1bb943db

Ara, afegiu el següent dipòsit oficial de MariaDB al vostre fitxer sources.list, utilitzant l'ordre següent.

# add-apt-repository 'deb http://mariadb.biz.net.id//repo/10.1/debian sid main'

Si afegir un repositori genera un error com \add-apt-repository: command not found, cal que instal·leu software-properties-common com es mostra a continuació.

# apt-get install software-properties-common

Actualitzeu la llista de paquets disponibles al sistema.

# apt-get update

Finalment, instal·leu el servidor i el client MariaDB, utilitzant les ordres següents.

# apt-get install mariadb-server mariadb-client

Si la instal·lació va bé, comproveu la versió de MariaDB instal·lada.

# mysql -V 

mysql  Ver 15.1 Distrib 5.5.38-MariaDB, for debian-linux-gnu (x86_64) using readline 5.1

Inicieu sessió a MariaDB amb root (no recomanat), seguit de la contrasenya.

$ mysql -u root -p
Welcome to the MariaDB monitor.  Commands end with ; or \g. 
Your MariaDB connection id is 28 
Server version: 5.5.38-MariaDB-1 (Debian) 

Copyright (c) 2000, 2014, Oracle, Monty Program Ab and others. 

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. 

MariaDB [(none)]>

NOTA: El cap anterior, vol dir que no hi ha cap base de dades seleccionada actualment.

Execució de diverses consultes MariaDB

Com crear un usuari a MariaDB. Utilitzeu la sintaxi següent per crear un usuari a MariaDB.

CREATE USER 'USER_NAME' IDENTIFIED BY 'PASSWORD';

Per exemple, per crear l'usuari 'sam' amb la contrasenya 'sam123', hem d'executar.

MariaDB [(none)]> CREATE USER 'sam' IDENTIFIED BY 'sam123'; 
Query OK, 0 rows affected (0.00 sec)

Ara sortiu de MariaDB i inicieu sessió amb l'usuari sam.

$ mysql -u 'sam' -p 
Enter password: 

Welcome to the MariaDB monitor.  Commands end with ; or \g. 
Your MariaDB connection id is 36 
Server version: 5.5.38-MariaDB-1 (Debian) 

Copyright (c) 2000, 2014, Oracle, Monty Program Ab and others. 

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. 

MariaDB [(none)]>

Suprimeix/elimina l'usuari de MySQL sam.

MariaDB [(none)]> DROP USER sam; 
Query OK, 0 rows affected (0.00 sec)

Consulta tota la base de dades disponible.

MariaDB [(none)]> SHOW DATABASES; 

+--------------------+ 
| Database           | 
+--------------------+ 
| information_schema | 
| mysql              | 
| performance_schema | 
+--------------------+ 
3 rows in set (0.04 sec)

NOTA: MariaDB utilitza internament totes les bases de dades que es mostren a dalt. No editeu aquestes bases de dades tret que sàpigues què estàs fent.

Seleccioneu una base de dades de la llista (necessària per executar consultes).

MariaDB [(none)]> USE mysql; 
Reading table information for completion of table and column names 
You can turn off this feature to get a quicker startup with -A 

Database changed 
MariaDB [mysql]>

Mostra totes les taules de la base de dades.

MariaDB [mysql]> SHOW TABLES; 

| Tables_in_mysql           | 
+---------------------------+ 
| columns_priv              | 
| db                        | 
| event                     | 
| func                      | 
| general_log               | 
| help_category             | 
| help_keyword              | 
| help_relation             | 
| help_topic                | 
.....
24 rows in set (0.00 sec)

Vegeu totes les columnes d'una taula que diuen usuari de la base de dades mysql. Utilitzeu qualsevol de les dues consultes.

SHOW COLUMNS FROM user;

or 

DESCRIBE user;

El resultat de les dues consultes és el mateix.

MariaDB [mysql]> describe user; 
+------------------------+-----------------------------------+------+-----+---------+-------+ 
| Field                  | Type                              | Null | Key | Default | Extra | 
+------------------------+-----------------------------------+------+-----+---------+-------+ 
| Host                   | char(60)                          | NO   | PRI |         |       | 
| User                   | char(16)                          | NO   | PRI |         |       | 
| Password               | char(41)                          | NO   |     |         |       | 
| Select_priv            | enum('N','Y')                     | NO   |     | N       |       | 
| Insert_priv            | enum('N','Y')                     | NO   |     | N       |       | 
| Update_priv            | enum('N','Y')                     | NO   |     | N       |       | 
| Delete_priv            | enum('N','Y')                     | NO   |     | N       |       | 
| Create_priv            | enum('N','Y')                     | NO   |     | N       |       | 
| Drop_priv              | enum('N','Y')                     | NO   |     | N       |       | 
.......
42 rows in set (0.01 sec)

Vegeu una àmplia informació sobre l'estat del servidor de MariaDB.

MariaDB [mysql]> SHOW STATUS; 
+------------------------------------------+----------------------+ 
| Variable_name                            | Value                | 
+------------------------------------------+----------------------+ 
| Aborted_clients                          | 0                    | 
| Aborted_connects                         | 0                    | 
| Access_denied_errors                     | 0                    | 
| Aria_pagecache_blocks_not_flushed        | 0                    | 
| Aria_pagecache_blocks_unused             | 15737                | 
| Aria_pagecache_blocks_used               | 2                    | 
| Aria_pagecache_read_requests             | 176                  | 
| Aria_pagecache_reads                     | 4                    | 
| Aria_pagecache_write_requests            | 8                    | 
....
419 rows in set (0.00 sec)

Vegeu la declaració MariaDB que es va utilitzar per crear la base de dades, digueu mysql.

MariaDB [mysql]> SHOW CREATE DATABASE mysql; 
+----------+------------------------------------------------------------------+ 
| Database | Create Database                                                  | 
+----------+------------------------------------------------------------------+ 
| mysql    | CREATE DATABASE `mysql` /*!40100 DEFAULT CHARACTER SET latin1 */ | 
+----------+------------------------------------------------------------------+ 
1 row in set (0.00 sec)

Vegeu la declaració MariaDB que es va utilitzar per crear la taula digueu usuari.

MariaDB [mysql]> SHOW CREATE TABLE user; 
+ 
| Table | Create Table                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     
+-------
| user  | CREATE TABLE `user` ( 
  `Host` char(60) COLLATE utf8_bin NOT NULL DEFAULT '', 
  `User` char(16) COLLATE utf8_bin NOT NULL DEFAULT '', 
  `Password` char(41) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL DEFAULT '', 
  `Select_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N', 
  `Insert_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N', 
....

Consulteu els drets de seguretat concedits a tots els usuaris de MariaDB.

MariaDB [mysql]> SHOW GRANTS; 
+----------------------------------------------------------------------------------------------------------------------------------------+ 
| Grants for [email                                                                                                               | 
+----------------------------------------------------------------------------------------------------------------------------------------+ 
| GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY PASSWORD '*698vsgfkemhvjh7txyD863DFF63A6bdfj8349659232234bs3bk5DC1412A' WITH GRANT OPTION | 
| GRANT PROXY ON ''@'' TO 'root'@'localhost' WITH GRANT OPTION                                                                           | 
+----------------------------------------------------------------------------------------------------------------------------------------+ 
2 rows in set (0.00 sec)

Consulteu els ADVERTIMENTS del servidor MariaDB.

MariaDB [mysql]> SHOW WARNINGS; 
+--------------------------------------------------------------------------------------------------------------------------------------------------------------+ 
| Level | Code |Message                                                                                                                                                      | 
+-------+------+--------------------------------------------------------------------------------------------------------------------------------------------------------------+ 
| Error | 1064 | You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'ON mysql' at line 1 | 
+-------+------+--------------------------------------------------------------------------------------------------------------------------------------------------------------+ 
1 row in set (0.00 sec)

Vegeu Errors del servei MariaDB.

MariaDB [mysql]> SHOW ERRORS; 

+-------+------+--------------------------------------------------------------------------------------------------------------------------------------------------------------+ 
| Level | Code | Message                                                                                                                                                      | 
+-------+------+--------------------------------------------------------------------------------------------------------------------------------------------------------------+ 
| Error | 1064 | You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'ON mysql' at line 1 | 
+-------+------+--------------------------------------------------------------------------------------------------------------------------------------------------------------+ 
1 row in set (0.00 sec)

Això és tot per ara. La declaració SHOW té moltes funcions, que parlarem en el futur article juntament amb altres consultes que s'executaran a MariaDB per obtenir el resultat desitjat. Fins aleshores estigueu atents i connectats a Tecmint. No us oblideu de proporcionar-nos els vostres valuosos comentaris a la secció de comentaris a continuació.