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.
hostname | IP |
srvMysql-Server | 192.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
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