Register for your free account! | Forgot your password?

Go Back   elitepvpers > Off-Topics > Tutorials
You last visited: Today at 04:01

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



Teamspeak 3 Server von SQLite auf MySQL umstellen

Discussion on Teamspeak 3 Server von SQLite auf MySQL umstellen within the Tutorials forum part of the Off-Topics category.

Reply
 
Old   #1
 
elite*gold: 0
Join Date: Jun 2013
Posts: 9
Received Thanks: 1
Teamspeak 3 Server von SQLite auf MySQL umstellen

Ob es nun aus Performance Gründen, Qualitätssicherung oder dem Hosting wegen passieren soll - einen Teamspeak 3 Server von SQLite auf MySQL umstellen ist keine schwierige Sache, wenn man die richtige Anleitung dafür hat. Aus diesem Grund biete ich euch hier ein up2date-Tutorial zu diesem Thema. Ich hoffe ich habe alles verständlich erklärt. Wenn nicht - fragt mich über die Kommentar Funktion. Ich antworte meist innerhalb weniger Stunden.


Bevor wir anfangen, ist es natürlich wichtig, dass wir ein Backup haben (Sollte absolut Selbstverständlich sein). Dazu gibt es einen Befehl, um ein Backup einer auf SQLite bestehenden Datenbank zu machen. Wir navigieren dazu in das Verzeichnis des Teamspeak Server (Falls nach meinem Tutorial gemacht: /home/teamspeak) und führen dort folgenden Befehl aus:

Code:
sqlite3 ts3server.sqlitedb .dump >> ts3sqldump.sql
Es ist wichtig, dass SQLite 3 installiert ist, damit der Befehl einwandfrei funktioniert. Alternativ installiert es mittels "apt-get install sqlite".

Wir müssen an unser exportierten Datenbank noch ein wenig was verändern, weswegen wir die .sql Datei mit einem Texteditor bearbeiten. Wir führen folgende Schritte durch:
  • PRAGMA foreign_keys=OFF; entfernen.
  • BEGIN TRANSACTION; entfernen.
  • COMMIT; entfernen.
  • Alle Zeilen entfernen, in welchen "sqlite_sequence" (ohne "") vorkommt.
  • Alle " durch ` ersetzen.

Alle "autoincrement" in "auto_increment" (jeweils ohne "") umwandeln.
Nun ist die Datei ready, um Sie über ein entsprechendes Tool wieder in die Datenbank einzupflegen (Beispielsweise PHPMyAdmin oder MySQL Dumper. Ich empfehle jedoch ersteres). Hierbei kann es zu folgendem Fehler kommen:

Code:
CREATE TABLE tokens ( server_id integer unsigned, token_key varchar(50) NOT NULL, token_type integer, token_id1 integer unsigned, token_id2 integer unsigned, token_created integer unsigned,  token_description varchar(255),  token_customset varchar);
Hier gebt ihr dem letzten varchar einfach eine Zuweisung (Beispiel: varchar(255)) und der Fehler sollte nicht mehr erscheinen.

Nun müssen wir im Ordner des Servers eine Datei Namens "ts3db_mysql.ini" mit folgendem Inhalt füllen. Passe jedoch die Daten entsprechend deiner Datenbank und Benutzer an:

Code:
[config]
host='localhost'
port='3306'
username='ts3'
password='passwort1234'
database='ts3'
socket='/var/run/mysqld/mysqld.sock'

Im selben Ordner öffnen wir nun die ts3server.ini Datei. Falls diese noch nicht besteht, erstellt Sie einfach mittels vi oder nano. Der Inhalt sollte etwa so aussehen:

Code:
machine_id=
default_voice_port=9987
voice_ip=0.0.0.0
licensepath=
filetransfer_port=30033
filetransfer_ip=0.0.0.0
query_port=10011
query_ip=0.0.0.0
query_ip_whitelist=query_ip_whitelist.txt
query_ip_blacklist=query_ip_blacklist.txt
dbplugin=ts3db_mysql
dbpluginparameter=ts3db_mysql.ini
dbsqlpath=sql/
dbsqlcreatepath=create_mysql/
dbconnections=10
logpath=logs
logquerycommands=0
dbclientkeepdays=30
logappend=0
Wichtig sind hier die Zeilen 11, 12 und 14, welche, sofern die Datei schon vorhanden ist, zu den o.g. Werten angepasst werden muss. Dann wird auch das MySQL Plugin richtig geladen und wir können mit dem nächsten Schritt fortfahren.


Nun kommen wir zum Testen - dabei testen wir zu erst, ob das benötigte MySQL Plugin richtig geladen wurde. Das geht mit folgendem Befehl:

Code:
ldd libts3db_mysql.so
Die Ausgabe sollte in etwa so aussehen:

Code:
linux-vdso.so.1 => (0x00007fffe4b7a000)
libmysqlclient.so.15 => /usr/lib/libmysqlclient.so.15 (0x00007fe18384f000)
libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x00007fe18353b000)
libm.so.6 => /lib/libm.so.6 (0x00007fe1832b8000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x00007fe1830a2000)
libc.so.6 => /lib/libc.so.6 (0x00007fe182d40000)
libcrypt.so.1 => /lib/libcrypt.so.1 (0x00007fe182b08000)
libnsl.so.1 => /lib/libnsl.so.1 (0x00007fe1828f0000)
libz.so.1 => /usr/lib/libz.so.1 (0x00007fe1826d9000)
librt.so.1 => /lib/librt.so.1 (0x00007fe1824d0000)
/lib64/ld-linux-x86-64.so.2 (0x00007fe183db1000)
libpthread.so.0 => /lib/libpthread.so.0 (0x00007fe1822b4000)

Wir starten nun testweise unseren Teamspeak3 Server mittels des minimal-startscript. Die Textausgabe sollten wir mittels eines kleinen Zusatzes aktivieren, um Fehler anzeigen zu lassen:

Code:
./ts3server_minimal_runscript.sh inifile=ts3server.ini
Wichtig ist das inifile=tsserver.ini, wodurch die eigene Konfiguration für MySQL überhaupt erst geladen wird. Die Ausgabe sollte dann folgendermaßen aussehen:

Code:
2012-03-26 11:28:30.309343|INFO |ServerLibPriv | | TeamSpeak 3 Server 3.0.3 (2012-03-17 06:12:11)
2012-03-26 11:28:30.310117|INFO |DatabaseQuery | | dbPlugin name: MySQL plugin, (c)TeamSpeak Systems GmbH
2012-03-26 11:28:30.310164|INFO |DatabaseQuery | | dbPlugin version: 1
2012-03-26 11:28:30.327685|WARNING |Accounting | | Unable to find valid license key, falling back to limited functionality
2012-03-26 11:28:30.340447|INFO |FileManager | | listening on 0.0.0.0:30033
2012-03-26 11:28:30.379590|INFO |VirtualServer | 1| listening on 0.0.0.0:9987
2012-03-26 11:28:30.379733|INFO |CIDRManager | | updated query_ip_whitelist ips: 127.0.0.1,
2012-03-26 11:28:30.379923|INFO |Query | | listening on 0.0.0.0:10011
Es wäre natürlich nervig, die Zeile inifile=tsserver.ini jedes mal wieder mit anzugeben (Das wäre nämlich sehr wichtig). Wir können einfach unser startscript anpassen indem wir Zeile 5 mit dieser austauschen:

Code:
COMMANDLINE_PARAMETERS="inifile=ts3server.ini" #add any command line parameters you want to pass here
Die Umstellung ist nun erfolgreich durchgeführt. Der Server kann nun wieder ganz normal benutzt werden, läuft jedoch wie gewünscht über MySQL.

-------------

Quelle:

Nutzungsrechte:
Ich bin der Eigentümer
LeCoreA is offline  
Reply


Similar Threads Similar Threads
Mysql fehler 1130-Host 'xxxx' is not allowed to connect to this MySQL server
10/18/2012 - Metin2 Private Server - 0 Replies
Ich brauche eure hilfe ich wollte einen P-server machen und benutzte Navicat für die DatenBank aber beim ersten mal ging es doch ich hatte dann die DB gelöscht,weil ich ein neues script hatte und dann wollte ich wieder eins machen aber es ging nicht so wie oben der Fehler ich bitte um hilfe danke :) aber bitte so schnell wie möglich um antwort danke Liebe Grüße : Silver2011
SQLite fix for PBDO
09/15/2012 - DarkOrbit - 4 Replies
I'm looking for this file which was on PBDO-Bot board.
[8.7] NaxedOt [Sql & Sqlite]
03/21/2012 - General Gaming Discussion - 1 Replies
NaxedOt litle Update of NaxedOt Bugs Fixeds - Dragon corpse not disapear. - Deathlist Fixed - Magic Wall Fixed - some bugs of the map fixeds
SQLite Expert Professional v1.7.57
02/18/2009 - RF Online - 45 Replies
the title says it all. and so i quited RF. if the mods here will say "OK" on my request i will post my SQL progy that i used when im still playing RF including a very handy tut on how to use it. damn RF:rtfm:. ow well, back to my old stuffs i guess PS: was caught by LUG on september 2008, was not jailed, they offer me to be one of the staff but then again i refused.
SQLite Database Communication
11/23/2008 - Dekaron - 1 Replies
While thumbing through dekaron.exe in WinHex, I noticed that it used a familiar syntax known as SQL. Looking through it more, it appeared to place data inside a database, which makes me wonder...How does it know which database to use, what username to use, and what password to use. Could Dekaron.exe actually hold the information needed to access the 2moons character database?



All times are GMT +1. The time now is 04:01.


Powered by vBulletin®
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2025 elitepvpers All Rights Reserved.