Dokumentation
Wie man Remote-Zugriff auf Datenbanken ermöglicht
Inhalt
MySQL/MariaDB
Konfigurieren Sie MySQL/MariaDB, um Remoteverbindungen abzuhören:
Für TurnKey v15.0 und spätere Releases:
(Hinweis: v15.x = Debian 9/Stretch -) Siehe unten für v14.x und früher
sed -i "s/^bind-address/#bind-address/" /etc/mysql/mariadb.conf.d/50-server.cnf
Erstellen Sie 'new_user' (Passwort: 'MyNewPassword') mit Berechtigungen zur Verbindung mit einer beliebigen MariaDB-Datenbank (Drop in MySQL-Ersatz) auf diesem Server von einer beliebigen Remoteadresse (von einem beliebigen Host) aus. ('%')
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@'%';"
Starten Sie MySQL/MariaDB neu, damit die Änderungen wirksam werden:
service mysql restart
Für TurnKey v14.x und frühere Releases:
(Anmerkung: v14.x = Debian 8/Jessie)
sed -i "s/^bind-address/#bind-address/" /etc/mysql/my.cnf
MySQL so konfigurieren, dass Remote akzeptiert wird Wurzel Verbindungen (von jedem Host)%')):
(zur Lesbarkeit hinzugefügte Zeilenumbrüche)
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');"
Starten Sie MySQL neu, damit die Änderungen wirksam werden:
service mysql restart
PostgreSQL
Konfigurieren Sie PostgreSQL zum Abhören von Remoteverbindungen:
CONF=/etc/postgresql/8.3/main/postgresql.conf sed -i "s/#listen_addresses = 'localhost'/listen_addresses = '*'/" $CONF
Konfigurieren Sie PostgreSQL, um Remoteverbindungen (von jedem Host) zu akzeptieren:
# 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
Starten Sie PostgreSQL neu, damit die Änderungen wirksam werden:
service postgresql restart