MySQL op Synology NAS niet bereikbaar vanaf webserver

Pagina: 1
Acties:
  • 2.683 views

Vraag


Acties:
  • 0 Henk 'm!

  • Qlusivenl
  • Registratie: Februari 2012
  • Laatst online: 05-06 14:45
Mijn vraag
Ik heb een issue, waarbij ik met mijn webserver geen verbinding kan krijgen met MySQL (MariaDB) die op mijn Synology NAS draait. In een eigen opgezette Ubuntu 16.04 server met MySQL en phpmyadmin, werkt het wel.

Relevante software en hardware die ik gebruik
NAS:
  • Synology DS214 (ip = 192.168.1.14)
  • DSM 6.1.5-15254 Update 1
  • MariaDB 10
  • phpMyAdmin (laatste versie)
Webserver:
  • Ubuntu server 16.04
  • PHP 7
  • php-mysql
  • Apache2
DB Server die nu in gebruik is:
  • MySQL server
  • phpMyAdmin
Wat ik al gevonden of geprobeerd heb
  • GRANT ALL PRIVILEGES ON database_name.* TO 'PHP'@'192.168.1.3' (is IP van de webserver)
  • Opnieuw de database en tabellen aangemaakt met inhoud
  • User opnieuw aangemaakt
Iemand een idee waarom ik met precies dezelfde database, user, tabel wel kan inloggen op de MySQL server die op ubuntu draait, maar niet die op mijn Synology NAS draait. Een jaar of 2 terug heeft die SQL db gewoon gewerkt, maar dat is heel wat updates en versies terug natuurlijk. Dat was voor een ander project, maar werkte dus wel bij het extern benaderen.

Test code om in iedergeval te kijken of de connectie werkt:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<html>
<div class="bckgrnd">
</br>
<h3>Testpage</h3>

<?php
$servername = "192.168.1.14";
$username = "root";
$password = "<PASSWORD>";
$dbname = "mysql";

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
$sql = "SELECT * FROM `db`";
$result = $conn->query($sql);

if ($result->num_rows > 0) {
  while($row = $result->fetch_assoc()) {
    echo $row["Db"];
    echo "</br>";
  }
}

$conn->close();
?>

</div>
</html>

Beste antwoord (via Qlusivenl op 31-03-2018 19:19)


  • DJMaze
  • Registratie: Juni 2002
  • Niet online
Het probleem is heel simpel.
De MySQL op de Synology accepteerd geen externe verbindingen vanuit beveiligingsoogpunt.
Er is ook geen CLI om dat te realiseren.

LET OP! DSM kent twee MariaDB versies: v5 op poort 3306 en v10 op poort 3307
@Qlusivenl begin dus eerst maar met poort 3307 mee te geven in je scripts ;)

Voor het instellen:
  1. installeer phpmyadmin
  2. login in phpmyadmin
  3. SQL:
    1
    2
    3
    
    CREATE USER 'root'@'192.168.1.%' IDENTIFIED BY 'some_pass';
    GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.1.%' WITH GRANT OPTION;
    FLUSH PRIVILEGES;
  4. check "bind-address" in /usr/local/mariadb10/etc/mysql/my.cnf
Controleer of het werkt en of je gebruikers kan aanmaken.
Zo ja, verwijder dan phpmyadmin.

LET OP! maak dus gebruikers aan met gelimiteerde rechten.
Je wil niet dat iemand zomaar als 'root' inlogged op een database.
Laat anders gewoon phpmyadmin er op staan en sla stap 3 over.

[ Voor 37% gewijzigd door DJMaze op 31-03-2018 19:42 ]

Maak je niet druk, dat doet de compressor maar

Alle reacties


Acties:
  • 0 Henk 'm!

  • McKaamos
  • Registratie: Maart 2002
  • Niet online

McKaamos

Master of the Edit-button

Heeft je NAS toevallig ook een firewall aan boord die je nog open moet zetten?
Heb je wel 'flush privileges' gedaan op je DB om de rechten actief te maken?

Iemand een Tina2 in de aanbieding?


Acties:
  • 0 Henk 'm!

  • Qlusivenl
  • Registratie: Februari 2012
  • Laatst online: 05-06 14:45
McKaamos schreef op zaterdag 31 maart 2018 @ 16:20:
Heeft je NAS toevallig ook een firewall aan boord die je nog open moet zetten?
Staat niet aan zie ik (misschien ook niet heel handig...), dus dat kan het probleem niet zijn.
Heb je wel 'flush privileges' gedaan op je DB om de rechten actief te maken?
Yep, maar dat haalde niets uit helaas :(

Acties:
  • 0 Henk 'm!

  • JdM
  • Registratie: Februari 2002
  • Laatst online: 10:31

JdM

Humbled

Heb je de NAS al een keer opnieuw opgestart?

Acties:
  • +1 Henk 'm!

  • Qlusivenl
  • Registratie: Februari 2012
  • Laatst online: 05-06 14:45
JdM schreef op zaterdag 31 maart 2018 @ 16:24:
Heb je de NAS al een keer opnieuw opgestart?
Ja, dit probleem speelt al een week of 3, omdat de server waarop het spul draait weg gaat. In de tussentijd tot nu is de NAS meermaals herstart en geupdatet. MariaDB en PHPmyadmin zijn ook al opnieuw geinstalleerd.

Acties:
  • 0 Henk 'm!

  • GlowMouse
  • Registratie: November 2002
  • Niet online
Raden waarom de verbinding mislukt, leuk spelletje op de zaterdagmiddag. Heb je misschien een foutmelding?

Acties:
  • Beste antwoord
  • +1 Henk 'm!

  • DJMaze
  • Registratie: Juni 2002
  • Niet online
Het probleem is heel simpel.
De MySQL op de Synology accepteerd geen externe verbindingen vanuit beveiligingsoogpunt.
Er is ook geen CLI om dat te realiseren.

LET OP! DSM kent twee MariaDB versies: v5 op poort 3306 en v10 op poort 3307
@Qlusivenl begin dus eerst maar met poort 3307 mee te geven in je scripts ;)

Voor het instellen:
  1. installeer phpmyadmin
  2. login in phpmyadmin
  3. SQL:
    1
    2
    3
    
    CREATE USER 'root'@'192.168.1.%' IDENTIFIED BY 'some_pass';
    GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.1.%' WITH GRANT OPTION;
    FLUSH PRIVILEGES;
  4. check "bind-address" in /usr/local/mariadb10/etc/mysql/my.cnf
Controleer of het werkt en of je gebruikers kan aanmaken.
Zo ja, verwijder dan phpmyadmin.

LET OP! maak dus gebruikers aan met gelimiteerde rechten.
Je wil niet dat iemand zomaar als 'root' inlogged op een database.
Laat anders gewoon phpmyadmin er op staan en sla stap 3 over.

[ Voor 37% gewijzigd door DJMaze op 31-03-2018 19:42 ]

Maak je niet druk, dat doet de compressor maar


Acties:
  • 0 Henk 'm!

  • Qlusivenl
  • Registratie: Februari 2012
  • Laatst online: 05-06 14:45
GlowMouse schreef op zaterdag 31 maart 2018 @ 16:27:
Raden waarom de verbinding mislukt, leuk spelletje op de zaterdagmiddag. Heb je misschien een foutmelding?
Geen foutmelding... noppes, nada.. Gewoon geen response terug.

Acties:
  • 0 Henk 'm!

  • Qlusivenl
  • Registratie: Februari 2012
  • Laatst online: 05-06 14:45
DJMaze schreef op zaterdag 31 maart 2018 @ 16:38:
Het probleem is heel simpel.
De MySQL op de Synology accepteerd geen externe verbindingen vanuit beveiligingsoogpunt.
Er is ook geen CLI om dat te realiseren.

LET OP! DSM kent twee MariaDB versies: v5 op poort 3306 en v10 op poort 3307
  1. installeer phpmyadmin
  2. login in phpmyadmin
  3. SQL:
    1
    2
    3
    
    CREATE USER 'root'@'192.168.1.%' IDENTIFIED BY 'some_pass';
    GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.1.%' WITH GRANT OPTION;
    FLUSH PRIVILEGES;
  4. check "bind-address" in /usr/local/mariadb10/etc/mysql/my.cnf
Controleer of het werkt en of je gebruikers kan aanmaken.
Zo ja, verwijder dan phpmyadmin.

LET OP! maak dus gebruikers aan met gelimiteerde rechten.
Je wil niet dat iemand zomaar als 'root' inlogged op een database.
Laat anders gewoon phpmyadmin er op staan en sla stap 3 over.

@Qlusivenl begin dus eerst maar met poort 3307 mee te geven in je scripts ;)
Alles wat jij hierboven hebt geschreven heb ik reeds uitgevoerd. Maar dat MariaDB 10 port 3307 gebruikte wist ik, maar heb er totaal niet bij stil gestaan dat dat de oorzaak kan zijn. Default port is natuurlijk 3306! Vele malen dank, hij werkt!

Acties:
  • 0 Henk 'm!

  • linda1990
  • Registratie: Mei 2018
  • Laatst online: 01-01-2023
Ik heb mariaDB 10 geinstalleerd op mijn DS218+.

Firewall laat de poort door:
Afbeeldingslocatie: https://tweakers.net/i/gKkOg0FG7DxvSwsu9S_1KnkPD-Q=/full-fit-in/4000x4000/filters:no_upscale():fill(white):strip_exif()/f/image/jumrksUd3vs7oXMo82mtM1ZP.png?f=user_large
Daarnaast staan in PhpMyAdmin, de gebruiker klaar met all-privileges en servernaam % (heb ook een gemaakt met 192.168.2.%)
Afbeeldingslocatie: https://tweakers.net/i/vY3GvZwRaAjMrK89qEn8kLSuQz8=/full-fit-in/4000x4000/filters:no_upscale():fill(white):strip_exif()/f/image/09KtG0mTzqcvcFLVuFh5ImiH.png?f=user_large

Poort staat ook goed bij het toevoegen van odbc.
Afbeeldingslocatie: https://tweakers.net/i/zKzwURp6ZK2gFkbK00kjI5fadQ0=/full-fit-in/4000x4000/filters:no_upscale():fill(white):strip_exif()/f/image/OV5sEkxkGp1Rz5tQ9ClKQANA.png?f=user_large
Maar nog steeds de foutmelding.
Afbeeldingslocatie: https://tweakers.net/i/jMlax9sNIn8xlRPiMMY08de58Dc=/full-fit-in/4000x4000/filters:no_upscale():fill(white):strip_exif()/f/image/0b9KxViyFk6Ut3lmCPl8uTVz.png?f=user_large

Wat doe ik verkeerd?

Acties:
  • 0 Henk 'm!

  • Creepy
  • Registratie: Juni 2001
  • Nu online

Creepy

Tactical Espionage Splatterer

Om daar nu zo'n oud topic voor te kicken, dat is nu ook weer niet nodig. Dit topic staat ook nog eens op de verkeerde plek. Lees Waar hoort mijn topic? eens rustig door en open dan een nieuw topic op de juiste plek. Deze gaat op slot. Dubbelcheck ook even de post van DJMaze hier, die zou wel eens de juiste oplossing kunnen geven. voor wat betreft de config file.

[ Voor 20% gewijzigd door Creepy op 12-10-2021 19:35 ]

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney

Pagina: 1

Dit topic is gesloten.