Maria DB - zwei Versionen, php Script soll auf eine bestimmte zugreifen.

Status
Für weitere Antworten geschlossen.

bernd_

Benutzer
Mitglied seit
29. Apr 2014
Beiträge
710
Punkte für Reaktionen
6
Punkte
38
Hallo Forum,

Ich habe MariaDB 10 und 5 im Einsatz,
bisher greift ein bestimmtes php Script auf Version 5 zu,
ich habe die DB nun auf Version 10 kopiert und hätte nun gerne dass dieses Script
auch auf die Version 10 zugreift, Standartmässig scheint hier aber irgendwo 5
eingestellt zu sein..
Der Connect String war bisher: mysql_connect("localhost", "user","password")
Ich denke statt localhost müsste hier dann etwas anderes stehen?

Gruss Bernd
 

Arni

Benutzer
Mitglied seit
05. Okt 2012
Beiträge
405
Punkte für Reaktionen
4
Punkte
24
Du mußt den Port 3307 für MariaDB 10 angeben!
 

bernd_

Benutzer
Mitglied seit
29. Apr 2014
Beiträge
710
Punkte für Reaktionen
6
Punkte
38
Hallo Arni,

ok, aber das hatte ich ja bisher auch nicht und es hat ja bisher funktioniert, funktioniert auch jetzt noch, aber connected eben auf die DB mit Version 5..
sprich schreibt in die Datenbank dort.

Gruss Bernd
 

goetz

Super-Moderator
Teammitglied
Sehr erfahren
Mitglied seit
18. Mrz 2009
Beiträge
14.016
Punkte für Reaktionen
272
Punkte
393
Hallo,
MariaDB5 lauscht auf dem Standardport 3306, MariaDB10 lauscht auf 3307. Gibst Du keinen Port an so wird der Standardport angesprochen, eben MariaDB5.

Gruß Götz
 

bernd_

Benutzer
Mitglied seit
29. Apr 2014
Beiträge
710
Punkte für Reaktionen
6
Punkte
38
Hallo zusammen,
Verstehe.. herzlichen Dank für den Tip!

<?php

$port = 3307;
$link = mysql_connect("localhost", "user","password", $port) or die ("Keine Verbindung moeglich");
mysql_select_db("testdb") or die ("Die Datenbank existiert nicht");...

Dennoch immer noch connect auf die alte DB...
Ebenso mit:
mysql_connect("localhost:3307", ...... ohne port - Variable.

liegt es am connect string oder der Freigabe des Ports auf der DS? Oder muss der DBName noch in den connect String vor der Portangabe?

Thx, Bernd
 

MikeZulu

Benutzer
Mitglied seit
04. Mai 2016
Beiträge
101
Punkte für Reaktionen
2
Punkte
24
Hi bernd_

Versuch es, den Port direkt hinter den Hostnamen zu konkatinieren, nachfolgendes Beispiel habe ich in einer eigenen Klasse:

function __construct() {
$this->handle = new mysqli(
$this->host.':'.$this->port,
$this->user,
$this->pswd,
$this->db);

if ($this->handle->connect_error) {
echo 'Connection to database failed ('.$this->handle->connect_error.')!';
die;
}
}

btw: mysql_connect is depreciated und sollte nicht mehr verwendet werden.
 

bernd_

Benutzer
Mitglied seit
29. Apr 2014
Beiträge
710
Punkte für Reaktionen
6
Punkte
38
admin@DiskStation:/volume1/web$ php checkmysqli.php
We don't have mysqli!!!admin@DiskStation:/volume1/web$
 

bernd_

Benutzer
Mitglied seit
29. Apr 2014
Beiträge
710
Punkte für Reaktionen
6
Punkte
38
Wie kann ich mysqli auf der DS installieren?
Was genau ist mysli, eine Klasse?
 

MikeZulu

Benutzer
Mitglied seit
04. Mai 2016
Beiträge
101
Punkte für Reaktionen
2
Punkte
24
Siehe meine PN
 

bernd_

Benutzer
Mitglied seit
29. Apr 2014
Beiträge
710
Punkte für Reaktionen
6
Punkte
38
Funktioniert wieder!

Vorgehen:
Mysql 5 DB Einträge exportiert und in Mysql 10 DB importiert.

siehe auch:

http://www.synology-forum.de/showthread.html?91880-Datenbank-MariaDB-5-5-nach-MariaDB-10-umziehen

/var/packages/MariaDB10/etc/ mit vi my.cnf als root erstellt:

[client]
port = 3306

[mysqld]
port = 3306

Mysql 5 deinstalliert.

dbconn.php
<?php
$db = mysqli_connect("localhost:3306", "user", "meinpass", "dbname");
if(!$db)
{
exit("Verbindungsfehler: ".mysqli_connect_error());
}
?>
angelegt.


Im php Script dann:

include("dbconnect.php"); benutzt

und die alten Anweisungen

http://php.net/manual/de/function.mysql-query.php
http://de2.php.net/manual/de/function.mysql-fetch-array.php
ersetzt durch:

durch diese ersetzt:
mysqli_query
mysqli_fetch_object
 
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat