Documentação
Como permitir o acesso remoto às bases de dados
Índice
MySQL/MariaDB
Configurar MySQL/MariaDB para ouvir as conexões remotas:
Para versões TurnKey v15.0 e posteriores:
(Nota: v15.x = Debian 9/Stretch - Ver abaixo para v14.x e anteriores)
sed -i "s/^bind-address/#bind-address/" /etc/mysql/mariadb.conf.d/50-server.cnf
Criar 'new_user' (senha-passe: 'MyNewPassword') com permissões para se conectar a qualquer banco de dados MariaDB (descartar em substituição MySQL) neste servidor a partir de qualquer endereço remoto (de qualquer máquina) (%)):
NEW_USER=new_user NEW_PASS='MyNewPassword' MYSQL_BATCH="mysql --user=root --batch" $MYSQL_BATCH --execute "CREATE USER $NEW_USER@'localhost' IDENTIFIED BY \"$NEW_PASS\";" $MYSQL_BATCH --execute "CREATE USER $NEW_USER@'%' IDENTIFIED BY \"$NEW_PASS\";" $MYSQL_BATCH --execute "GRANT ALL ON *.* TO $NEW_USER@'localhost';" $MYSQL_BATCH --execute "GRANT ALL ON *.* TO $NEW_USER@'%';"
Reinicie MySQL/MariaDB para que as alterações façam efeito:
service mysql restart
Para versões TurnKey v14.x e anteriores:
(Nota: v14.x = Debian 8/Jessie)
sed -i "s/^bind-address/#bind-address/" /etc/mysql/my.cnf
Configurar o MySQL para aceitar o comando raiz ligações (de qualquer máquina ('%')):
(interrupções de linha adicionais para legibilidade)
MYSQL_BATCH="mysql --user=root --password=$MYSQL_PASS --batch"
$MYSQL_BATCH --execute "INSERT INTO mysql.user ( Host , User , Password , Select_priv ,
Insert_priv , Update_priv , Delete_priv , Create_priv , Drop_priv , Reload_priv ,
Shutdown_priv , Process_priv , File_priv , Grant_priv , References_priv ,
Index_priv , Alter_priv , Show_db_priv , Super_priv , Create_tmp_table_priv ,
Lock_tables_priv , Execute_priv , Repl_slave_priv , Repl_client_priv ,
Create_view_priv , Show_view_priv , Create_routine_priv , Alter_routine_priv ,
Create_user_priv , ssl_type , max_questions , max_updates , max_connections ,
max_user_connections) VALUES ( '%', 'root', '', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y',
'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y','Y', 'Y', 'Y', 'Y', 'Y',
'Y', 'Y', 'Y', 'Y', '', '0', '0', '0', '0');"
Reinicie o MySQL para que as alterações façam efeito:
service mysql restart
PostgreSQL
Configurar o PostgreSQL para ouvir as ligações remotas:
CONF=/etc/postgresql/8.3/main/postgresql.conf sed -i "s/#listen_addresses = 'localhost'/listen_addresses = '*'/" $CONF
Configurar o PostgreSQL para aceitar conexões remotas (de qualquer máquina):
# configure postgres to accept remote connections cat >> /etc/postgresql/8.3/main/pg_hba.conf <<EOF # Accept all IPv4 connections - CHANGE THIS!!! host all all 0.0.0.0/0 md5 EOF
Reinicie o PostgreSQL para que as alterações façam efeito:
service postgresql restart