Versões avaliadas:
Debian 13 (Trixie)
Debian 10.4 + MariaDB 10.3.22
Conforme orientações dos desenvolvedores do MariaDB a migração do MySQL para o MariaDB deve ser considerada e realizada, devido a vários motivos.
Em meu ambiente realizei a migração do MySQL 5.5 para MariaDB 10.3 e constatei melhora na performance em torno de 50% na resposta as solicitações SQL e no processamento local.
Instale o pacote
# apt install mariadb-server
Execute o comando mysql_secure_installation para inciar o processo de configuração:
# mariadb-secure-installation
Enter current password for root (enter for none): Press Enter
Switch to unix_socket authentication [Y/n] Press Enter
Change the root password? [Y/n] Press Enter and insert passwd
Remove anonymous users? [Y/n] Press Enter
Disallow root login remotely? [Y/n] Press Enter
Remove test database and access to it? [Y/n] Press Enter
Reload privilege tables now? [Y/n] Press Enter
Redefina as permissões de acesso:
# mariadb -u root -p
> grant all privileges on *.* to root@'localhost' identified by '<SENHA>' with grant option;
> grant all privileges on *.* to root@'%' identified by '<SENHA>' with grant option;
> flush privileges;
> quit
Ajuste as configurações para executar o MariaDB para o server:
# vi /etc/mysql/mariadb.conf.d/50-server.cnf
[mysqld]
skip_name_resolve
bind-address= 0.0.0.0
max_connections = 100
Inicialize o serviço:
# systemctl restart mariadb.service
# systemctl status mariadb.service
Ajuste as configurações para executar o MariaDB para o client:
# vi /etc/mysql/mariadb.conf.d/50-client.cnf
[client]
default-character-set=utf8mb4
Ajuste as configurações para executar o MariaDB para o mysql-client:
# vi /etc/mysql/mariadb.conf.d/50-mysql-clients.cnf
[mysql]
default-character-set=utf8mb4
Acesse o console do MariaDB para executar os comandos abaixo:
MariaDB [(none)]> show variables like "max_connections"; -> Mostra o valor da variável
MariaDB [(none)]> show status like 'Threads_connected'; -> Mostra o status de quantas conexões ativas no momento
MariaDB [(none)]> show status like '%onn%'; -> Mostra o status de todos as variáveis que contenham palavra onn
MariaDB [(none)]> show processlist; -> Mostra todos os processos
MariaDB [(none)]> set global max_connections = 160; -> Configura a variável conforme o valor
Instalar sys schema, acesse o link e baixe o script
$ mysql -u root -p -h <IP_DNS_SERVER> < ./mariadb_sys_install.sql
REVER
CREATE- permite criar novas tabelas ou bases de dados
DROP- permite deletar tableas ou bases de dados
DELETE- permite deletar linhas das tabelas
INSERT- permite inserir linhas nas tabelas
SELECT- permite utilizar o comando Select para ler bases de dados
UPDATE- permite atualizar linhas das tabelas
GRANT OPTION- permite conceder ou revogar privilégios de outros usuários
SHOW GRANTS;
revoke insert,select,update from outro.tabela1 to teste2@"10.0.0.%";
GRANT UPDATE, INSERT ON rh.* TO remoto@"200.236.13.%" IDENTIFIED BY "remoto";
GRANT ALL PRIVILEGES ON * . * TO 'novousuario'@'localhost';
GRANT [tipo de permissão] ON [nome da base de dados].[nome da tabela] TO ‘[nome do usuário]’@'localhost’;
CREATE USER 'novousuario'@'localhost' IDENTIFIED BY 'password';
REVOKE [tipo de permissão] ON [nome da base de dados].[nome da tabela] FROM ‘[nome do usuário]’@‘localhost’;
DROP USER ‘demo’@‘localhost’;
mysql>GRANT ALL ON rh.* TO user@"192.168.0.%" IDENTIFIED BY "12345";
Neste caso, o MySQL cria em memória a lista dos usuários da seguinte forma:
Usuário Senha
root@localhost
" "@localhost
user@"192.168.0.%" 12345