Em nosso último artigo, a história por trás da aquisição do 'MySQL' e a ascensão do 'MariaDB' foi muito apreciada. Neste artigo, já discutimos a necessidade de bifurcar o MySQL, a ascensão do MariaDB, Características dele, um estudo comparativo do MariaDB e do MySQL, Movimento de algumas das empresas e empresas renomadas do mundo (Google, Wikipedia) do MySQL para o MariaDB e muitos outros aspectos técnicos e não técnicos do mesmo.
Aqui vamos instalar o MariaDB 10.1 no Debian Jessie (Testing) e o testará criando pequenas tabelas e executando várias consultas no processo de aprendizado e compreensão.
Instale o MariaDB 10.1 no Debian Jessie
Em sistemas Debian, é altamente recomendado instalar ‘python-software-properties ‘, antes de ir para a instalação do MariaDB dos repositórios oficiais.
# apt-get install python-software-properties
Em seguida, importe e registre a chave GPG, que habilita o apt para verificar a integridade dos softwares baixados.
# apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 0xcbcb082a1bb943db
Agora, adicione o seguinte repositório oficial do MariaDB ao seu arquivo sources.list, usando o comando a seguir.
# add-apt-repository 'deb http://mariadb.biz.net.id//repo/10.1/debian sid main'
Se a adição de repositório gerar um erro como “add-apt-repository:comando não encontrado ”, você precisa instalar ‘software-properties-common’ conforme mostrado abaixo.
# apt-get install software-properties-common
Atualize a lista de Pacotes disponíveis no sistema.
# apt-get update
Por fim, instale o MariaDB Server and Client, usando os comandos a seguir.
# apt-get install mariadb-server mariadb-client
Se a instalação for tranquila, verifique a versão do Installed MariaDB.
# mysql -V mysql Ver 15.1 Distrib 5.5.38-MariaDB, for debian-linux-gnu (x86_64) using readline 5.1
Faça login no MariaDB usando root (não recomendado), seguido de senha.
$ mysql -u root -p
Saída de amostra
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 :O 'nenhum' acima, significa que nenhum banco de dados está selecionado no momento.
Executando várias consultas MariaDB
Como criar um usuário no MariaDB. Use a seguinte sintaxe para criar um usuário no MariaDB.
CREATE USER 'USER_NAME' IDENTIFIED BY 'PASSWORD';
Por exemplo, para criar o usuário 'sam ' com senha 'sam123 ', precisamos executar.
MariaDB [(none)]> CREATE USER 'sam' IDENTIFIED BY 'sam123'; Query OK, 0 rows affected (0.00 sec)
Agora sair MariaDB e faça login usando o usuário 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)]>
Excluir/Soltar o usuário do MySQL 'sam'.
MariaDB [(none)]> DROP USER sam; Query OK, 0 rows affected (0.00 sec)
Consulte toda a Base de Dados disponível.
MariaDB [(none)]> SHOW DATABASES; +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | +--------------------+ 3 rows in set (0.04 sec)
NOTA :Todos os bancos de dados mostrados acima são usados internamente pelo MariaDB. Não edite esses bancos de dados a menos que você saiba o que está fazendo.
Selecione um banco de dados da lista (necessário para executar consultas).
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 todas as tabelas dentro do Banco de Dados.
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)
Veja todas as colunas de uma tabela dizendo 'usuário' do banco de dados 'mysql'. Use uma das duas consultas.
SHOW COLUMNS FROM user; or DESCRIBE user;
O resultado de ambas as consultas é o mesmo.
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)
Veja informações extensas sobre o status do servidor do 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)
Veja a declaração do MariaDB que foi usada para criar o banco de dados, digamos ‘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)
Veja a declaração do MariaDB que foi usada para criar a Tabela, digamos ‘usuário’.
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', ....
Veja os direitos de segurança concedidos a um/todos os usuários do MariaDB.
MariaDB [mysql]> SHOW GRANTS; +----------------------------------------------------------------------------------------------------------------------------------------+ | Grants for [email protected] | +----------------------------------------------------------------------------------------------------------------------------------------+ | 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)
Veja os AVISOS do 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)
Consulte Erros do servidor 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)
É tudo por agora. O "MOSTRAR ‘ Statement tem muitos recursos, que discutiremos no futuro artigo junto com outras consultas a serem executadas no MariaDB para obter o resultado desejado. Até lá fiquem atentos e conectados ao Tecmint. Não se esqueça de nos fornecer seus comentários valiosos na seção de comentários abaixo.