Acesso remoto ao Mysql no Ubuntu 16.04

Ao instalar um servidor da base de dados MySQL, por padrão ele só será acessado por aplicações que estejam na mesma máquina que o servidor, em outras palavras, não está habilitado para acesso remoto.

hostnameIP
srvMysql-Server192.168.0.191
IdeaPad (cliente)192.168.0.169 (cliente)

Instalação dos pacotes:

sudo apt-get update && sudo apt-get upgrade -y && sudo apt-get dist-upgrade -y && sudo apt-get install mysql-server figlet -y && sudo apt-get clean

Identificando o servidor

sudo vim /etc/motd
                           _ 
 _ __ ___  _   _ ___  __ _| |
| '_ ` _ \| | | / __|/ _` | |
| | | | | | |_| \__ \ (_| | |
|_| |_| |_|\__, |___/\__, |_|
           |___/        |_|  

Ex:
figlet “teste”

Liberar acesso (ip externo)

sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf

Altere a linha 43

bind-address = 127.0.0.1

para

bind-address = 0.0.0.0

sudo service mysql restart

Criando usuário comum com acesso externo via IP (192.168.0.169)

sudo mysql -h localhost -u root -p

mysql> CREATE USER ‘joserf’@’192.168.0.169’ IDENTIFIED BY ‘1234’;
GRANT USAGE ON . TO ‘joserf’@’192.168.0.169’ REQUIRE NONE WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0;

Permissão total no banco ao usuário restrito

mysql> GRANT ALL PRIVILEGES ON NomeDoBanco.* TO ‘joserf’@’192.168.0.169’ WITH GRANT OPTION;

Status

sudo systemctl status mysql.service

Detalhes da versão

mysqladmin -u root -p version 

Acessando o MySQL de outro IP (acesso externo):

Instale o pacote necessário para acesso (maquina cliente)

sudo apt install mysql-client-core-8.0

Acessando externamente

mysql -h 192.168.0.191 -u joserf -p

DICAS

Veja a seguir algumas dicas que vão lhe ajudar

Criando usuário

mysql> CREATE USER ‘joserf’@’localhost’ IDENTIFIED BY ‘1234’;
GRANT ALL PRIVILEGES ON . TO ‘joserf’@’localhost’ WITH GRANT OPTION;

Criando um banco de dados

mysql> CREATE DATABASE NomeDoBanco;

mysql> USE NomeDoBanco;

Importando o banco

mysql> SOURCE NomeDoBanco.sql;

Fazendo back-up

mysqldump --all-databases --single-transaction --quick --lock-tables=false > full-backup-$(date +%F).sql -u root -p

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *