Installation von MySQL

brotbüchse

Neuer User
Mitglied seit
13 Jan 2010
Beiträge
19
Punkte für Reaktionen
0
Punkte
0
Hallo Forum,
ich verzweifle gerade dabei, meinen Asterisk mit der auf der gleichen Maschine installierten MySQL Datenbank kommunizieren zu lassen.

Gegeben ist:
- Suse Linux Rechner
- Asterisk 1.4
- MySQL (aus dem XAMPP-Packet)

Ich habe schon einiges durch google gefunden, bekomme es aber um's Verrecken nich hin :)

Wäre wohl jemand so freundlich mal eine ordentliche Anleitung zu erstellen, denn es haben mit Sicherheit noch andere das Problem....hoffe ich :)

Das habe ich bis jetzt gefunden:
http://www.voip-info.org/wiki/index.php?page=Asterisk+cmd+MYSQL
http://www.voip-info.org/wiki/view/Asterisk+addon+asterisk-addons

Welches Development Package ist hier gemeint, das von Asterisk oder MySQL?

Danke im Voraus
 
Hallo brotbüchse,

erstmal brauchst Du die MySQL Pakete, das waren irgendwie mysql-client und mysql-client-devel oder so ähnlich. Wenn Du den MySQL-Server über Yast installierst, kannst Du diese Pakete auch mit auswählen. Ansonsten getrennt downloaden und bauen.

Danach in Asterisk bzw. den Asterisk-Addons noch mal ./configure ausführen, und dann sollten sich die MySQL Sachen in make menuconfig auswählen lassen.

Svenja
 
Danke für deine Antwort rentier-s,

sag mal woher bekomme ich denn das mysql-devel rpm her?
 
Hallo, ja rpmseek funktioniert irgendwie nicht mehr :p
Habe jetzt aber trotzdem die mysql-client, -shared und die -devel erfolgreich installiert.
So nun wollte endlich die asterisk-addons instalieren, also noch mal schon frisch von der Asteriskseite heruntergeladen, entpackt, "make clean" ausgeführt, und dann bei "make install" bekomme ich diesen Fehler:

[CC] app_addon_sql_mysql.c -> app_addon_sql_mysql.o
app_addon_sql_mysql.c:95: error: unknown field âchan_fixupâ specified in initializer
app_addon_sql_mysql.c:95: warning: excess elements in struct initializer
app_addon_sql_mysql.c:95: warning: (near initialization for âmysql_ds_infoâ)
make[1]: *** [app_addon_sql_mysql.o] Error 1
make: *** [apps] Error 2

Was soll das und vorallem, was kann ich dagegen tun?
 
SOOOO... :)
Ich habe die addons erfolgreich installiert, eine ältere version konnte mir weiterhelfen!

Nun stehe ich, natürlich, vor einem neuen Problem:

Eine exten von mir soll, wenn sie angerufen wird, einen Querry in die MySQL-DB schicken, doch wenn ich diese Nummer anrufe schmeißt mir Asterisk:
[Jul 22 11:29:00] WARNING[18975]: pbx.c:1797 pbx_extension_helper: No application 'MYSQL' for extension (default, 173860, 1)

Was kann ich dagegen tun?
 
Entweder hast Du die app_mysql in make menuconfig nicht ausgewählt, oder Du machst kein autoload (modules.conf) und hast das Modul nicht geladen.

Svenja
 
Hallo rentier-s
Ich habe den Fehler nun auch behoben, und selbstverständlich kommt schon der nächste. Meine exten sieht aus wie folgt:
Code:
exten => 173860,1,MYSQL(Connect connid 10.100.0.100 root geheim Calllist) 
exten => 173860,2,MYSQL(Query resultid ${connid} INSERT\ INTO\ Anrufe_1\ SET\ ID=““\, Time=“1279778999“\, Caller="3376"\, Telephonee=“173890“
exten => 173860,3,MYSQL(Clear ${resultid}) 
exten => 173860,4,MYSQL(Disconnect ${connid}) 
exten => 173860,5,Hangup

Habe das Schema eines Tutorials dazu übernommen und würde jetzt frechweg behaupten, dass alles richtig ist :p

Asterisk hingegen sieht das ganze natürlich wieder einmal komplett anders und sagt:
Executing [173860@default:1] MYSQL("SIP/10.100.0.12-b6a05168", "Connect connid 10.100.0.100 root geheim Calllist") in new stack
[Jul 22 14:05:48] WARNING[13051]: app_addon_sql_mysql.c:234 aMYSQL_connect: mysql_real_connect(mysql,10.100.0.100,root,dbpass,Calllist,...) failed
-- Executing [173860@default:2] MYSQL("SIP/10.100.0.12-b6a05168", "Query resultid INSERT INTO Anrufe_1 SET ID=, Time=1279778999, Caller="3376", Telephonee=173890") in new stack
[Jul 22 14:05:48] WARNING[13051]: app_addon_sql_mysql.c:114 find_identifier: Identifier 0, identifier_type 1 not found in identifier list
[Jul 22 14:05:48] WARNING[13051]: app_addon_sql_mysql.c:284 aMYSQL_query: aMYSQL_query: Invalid connection identifier 0 passed in aMYSQL_query
-- Executing [173860@default:3] MYSQL("SIP/10.100.0.12-b6a05168", "Clear ") in new stack
[Jul 22 14:05:48] WARNING[13051]: app_addon_sql_mysql.c:114 find_identifier: Identifier 0, identifier_type 2 not found in identifier list
[Jul 22 14:05:48] WARNING[13051]: app_addon_sql_mysql.c:353 aMYSQL_clear: Invalid result identifier 0 passed in aMYSQL_clear
-- Executing [173860@default:4] MYSQL("SIP/10.100.0.12-b6a05168", "Disconnect ") in new stack
[Jul 22 14:05:48] WARNING[13051]: app_addon_sql_mysql.c:114 find_identifier: Identifier 0, identifier_type 1 not found in identifier list
[Jul 22 14:05:48] WARNING[13051]: app_addon_sql_mysql.c:370 aMYSQL_disconnect: Invalid connection identifier 0 passed in aMYSQL_disconnect
-- Executing [173860@default:5] Hangup("SIP/10.100.0.12-b6a05168", "") in new stack
== Spawn extension (default, 173860, 5) exited non-zero on 'SIP/10.100.0.12-b6a05168'
 
Hast Du das Passwort am MySQL Server mit old_password gesetzt? Irgendwas geht bei der Anmeldung an MySQL schief.

Svenja
 
Also eigentlich mit
Code:
SET PASSWORD FOR 'user'@'%' = OLD_PASSWORD('password');

Ich weiß nicht, ob das bei Dir was nutzt, aber ist halt eine der üblichen Fehlerquellen bei gescheiterten MySQL Anmeldungen.

Svenja
 
OK das funktioniert garnicht :p
Weder Asterisk noch PHPmyAdmin können jetzt noch auf die DB zugreifen!
Wie ändere ich das Passwort denn jetzt wieder in das neue Format?
 
Code:
SET PASSWORD FOR 'user'@'%' = 'password';

Dann richte für Asterisk einen eigenen Benutzer ein (solltest Du sowieso machen), aber ohne Passwort und beschränke den auf localhost.

Im Dialplan das Kennwort dementsprechend weg lassen, zwischen Benutzer und Datenbankname müssen dann zwei Leerzeichen sein.
Code:
MYSQL(Connect connid 10.100.0.100 root  Calllist)

Svenja
 
Edit: Hab das hier versucht
Code:
mysql -u root -p pwd -h localhost
Enter Passwort: ********
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
 
Zuletzt bearbeitet:
Du willst mir jetzt nicht erzählen, dass Du nur einen Benutzer angelegt hast und den sowohl zum Einrichten als auch für alle Clients verwenden wolltest?!

Starte den MySQL-Server mit der Option --old-passwords, dann müsstest Du Dich hoffentlich wieder anmelden können, leg einen neuen Benutzer mit vollen Rechten aber ohne Passwort an. Starte den MySQL-Server wieder normal, melde Dich mit dem gerade angelegten Benutzer an und setz das Passwort für Deinen alten Benutzer neu.
 
Zuletzt bearbeitet von einem Moderator:
Hmm... kann die MySQL DB irwi nicht mit dem Parameter starten, da sie ja durch xampp installiert wurde und auch darüber gestartet wird...

Kann ich diese Option evtl. in der my.cnf Datei einstellen?
 
Zuletzt bearbeitet:
Diese Fehlermeldung deutet darauf hin, daß mysql nicht über das Filesystem-Socket kommuniziert, sondern ggf. nur über localhost oder die IP-Adresse des lokalen Systems. Versuche das mal mit der Option -h und localhost bzw. der IP-Adresse des Servers.

Und was das Starten unabhängig von XAMPP anbelangt: Du findest im Verzeichnis von XAMPP auch die Start/Stop-Scripte für MySQL, die man für sich aufrufen kann... ohne den restlichen XAMPP-Ballast.

--gandalf.
 
Okay...MySQL läuft wieder...habe einen neuen Benutzer 'asterisk' angelegt der wie von rentier-s konfiguriert worden ist (kein Passwort, Vollzugriff, ...)

Jetzt wieder angerufen und geguckt was Asterisk dazu sagt:
-- Executing [173860@default:1] MYSQL("SIP/10.100.0.12-b69083a0", "Connect connid 10.100.0.100 asterisk Calllist") in new stack
[Jul 23 10:07:54] WARNING[4543]: app_addon_sql_mysql.c:234 aMYSQL_connect: mysql_real_connect(mysql,10.100.0.100,asterisk,dbpass,Calllist,...) failed
-- Executing [173860@default:2] MYSQL("SIP/10.100.0.12-b69083a0", "Query resultid INSERT INTO Anrufe_1 SET ID=, Time=1279778999, Caller="3376", Telephonee=173890") in new stack
[Jul 23 10:07:54] WARNING[4543]: app_addon_sql_mysql.c:114 find_identifier: Identifier 0, identifier_type 1 not found in identifier list
[Jul 23 10:07:54] WARNING[4543]: app_addon_sql_mysql.c:284 aMYSQL_query: aMYSQL_query: Invalid connection identifier 0 passed in aMYSQL_query
-- Executing [173860@default:3] MYSQL("SIP/10.100.0.12-b69083a0", "Clear ") in new stack
[Jul 23 10:07:54] WARNING[4543]: app_addon_sql_mysql.c:114 find_identifier: Identifier 0, identifier_type 2 not found in identifier list
[Jul 23 10:07:54] WARNING[4543]: app_addon_sql_mysql.c:353 aMYSQL_clear: Invalid result identifier 0 passed in aMYSQL_clear
-- Executing [173860@default:4] MYSQL("SIP/10.100.0.12-b69083a0", "Disconnect ") in new stack
[Jul 23 10:07:54] WARNING[4543]: app_addon_sql_mysql.c:114 find_identifier: Identifier 0, identifier_type 1 not found in identifier list
[Jul 23 10:07:54] WARNING[4543]: app_addon_sql_mysql.c:370 aMYSQL_disconnect: Invalid connection identifier 0 passed in aMYSQL_disconnect
-- Executing [173860@default:5] Hangup("SIP/10.100.0.12-b69083a0", "") in new stack
== Spawn extension (default, 173860, 5) exited non-zero on 'SIP/10.100.0.12-b69083a0'

WAS zur Hölle mache ich nur falsch?? :p
 
*push**push**doppelpush*...dann bringt dich die zunge zum schuss
 
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.