Forum

Results 1 to 5 of 5
  1. #1
    Join Date
    July 2017
    Location
    Frankfurt
    Posts
    2

    [3.0.13.8] MariaDB doesn't work on Debian 9 Stretch

    Hey Community,

    I tried to set up a TeamSpeak Server running on the latest Server-Build available. (3.0.13.8)
    I want to run the Server with a MySQL Database. (The Database is running on a different Server.)
    Both, the MySQL and the TeamSpeak Server are running Debian 9 Stretch.

    Some more Information:
    Server-Version: 10.1.23-MariaDB-9+deb9u1 - Debian 9.0
    Webserver: Apache/2.4.25 (Debian)
    Datenbank-Client Version: libmysql - mysqlnd 5.0.12-dev - 20150407 - $Id: b5c5906d452ec590732a93b051f3827e02749b83 $
    PHP-Extensions: mysqliDokumentation curlDokumentation mbstringDokumentation
    PHP-Version: 7.0.19-1


    I guess I set everything up properly, well ... let's just say that I don't know what I did/am doing wrong.

    I am starting the Server with that command:
    ./ts3server_minimal_runscript.sh inifile=ts3server.ini

    Console says this:
    |INFO |ServerLibPriv | |TeamSpeak 3 Server 3.0.13.8 (2017-07-19 08:26:51)
    |INFO |ServerLibPriv | |SystemInformation: Linux 4.9.0-3-amd64 #1 SMP Debian 4.9.30-2+deb9u2 (2017-06-26) x86_64 Binary: 64bit
    |INFO |ServerLibPriv | |Using hardware aes
    |INFO |DatabaseQuery | |dbPlugin name: MariaDB plugin, version 3, (c)TeamSpeak Systems GmbH
    |INFO |DatabaseQuery | |dbPlugin version: 2
    |ERROR |DatabaseQuery | |mysql_real_connect() failed with error: Can't connect to MySQL server on 'MySQL Server IP-Adress' (107)
    |CRITICAL|ServerLibPriv | |Server() unable to initialize database


    My ts3server.ini looks like this:
    machine_id=1
    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_mariadb
    dbpluginparameter=ts3db_mariadb.ini
    dbsqlpath=sql/
    dbsqlcreatepath=create_mariadb/
    dblogkeepdays=90
    logpath=logs
    logquerycommands=0
    dbclientkeepdays=30


    My ts3db_mariadb.ini looks like this:
    host=My SQL Server's IP
    port=3306
    username=root
    password=Root-Password
    database=teamspeak <- (This is set to utf8mb4_unicode_ci if that matters)





    I tried to run the exact same Setup and Configuration directly on the same Server together with the TeamSpeak Server and I tried to run it on my Home Windows-PC. Nothing worked for me.

    I hope you can help me.
    Thanks in advance! =)

  2. #2
    Join Date
    February 2012
    Location
    Germany
    Posts
    571
    "Can't connect to MySQL server on 'MySQL Server IP-Adress' (107)" means the Teamspeak server is unable to connect to the Mysql server.
    Make sure that:

    - the mysql server is running on that host
    - it is actually listening to the given port
    - the mysql user is allowed to log into mysql from the ip address of the Teamspeak server
    - the firewall on the mysql host allows connections to the mysql port

    By the way:
    You use the username "root" as mysql user. From this I guess you are setting up a standalone private server and not a server farm as big hoster of many Teamspeak servers. My advice: don't use mysql for a single server. It gives no advantage in comparison to the default sqlite database. You don't get a faster server, you don't get a more stable server. Instead you have to deal with a second machine and with a second server process you have to manage continuously. The first advantage of sqlite over mysql is that you don't have to deal with problems like the above at all.

  3. #3
    Join Date
    July 2017
    Location
    Frankfurt
    Posts
    2
    Thanks for your response Schlumpi.

    I finally managed to set up my Server with a MySQL/MariaDB Database.
    The problem was a wrong configuration file of SQL on Debian Linux Distros.

    I had to add the marked three lines. By default they are not added to the config on Debian.(The file is located in /etc/mysql/my.conf)


    # The MariaDB configuration file
    #
    # The MariaDB/MySQL tools read configuration files in the following order:
    # 1. "/etc/mysql/mariadb.cnf" (this file) to set global defaults,
    # 2. "/etc/mysql/conf.d/*.cnf" to set global options.
    # 3. "/etc/mysql/mariadb.conf.d/*.cnf" to set MariaDB-only options.
    # 4. "~/.my.cnf" to set user-specific options.
    #
    # If the same option is defined multiple times, the last one will apply.
    #
    # One can use all long options that the program supports.
    # Run program with --help to get a list of available options and with
    # --print-defaults to see which it would actually understand and use.

    #
    # This group is read both both by the client and the server
    # use it for options that affect everything
    #
    [client-server]

    # Import all .cnf files from configuration directory
    !includedir /etc/mysql/conf.d/
    !includedir /etc/mysql/mariadb.conf.d/

    [mysqld]
    bind-address = ::
    #skip-networking


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

    After adding the three lines, I restarted my Database Server and my TeamSpeak Server connected just fine with the Database.
    Everything is running without any problems now.

    You said:
    You use the username "root" as mysql user. From this I guess you are setting up a standalone private server and not a server farm as big hoster of many Teamspeak servers.

    I just used the root user for testing purposes, which turned out was completely wrong since it is locked to the localhost and not reachable from the outside. I just created another user with the hostname '%' to make it accessable from the outside.
    I just want to run the server on a "real" Database because I think SQLite sucks and it is a pain to control over the Console.
    The actual reason I did this is a better integration with my TeamSpeak Server and several plugins running on my Webserver.

    Greetings.

  4. #4
    Join Date
    June 2011
    Location
    Germany
    Posts
    4,335
    One does not access the TeamSpeak database. It is also not reliable due to caching.

  5. #5
    Join Date
    February 2012
    Location
    Germany
    Posts
    571
    Sqlite doesn't suck, really. It's absolutely fine, it's no toy, it's no cheap substitute, it's a real database by all means. It even supports transactions. It's just not remotely accessible, that's the whole difference.

    You don't need to control or manage the Teamspeak database. It's completely self-contained. You manage the Teamspeak objects through the server-query feature of Teamspeak. Accessing database tables directly with SQL is not supported by Teamspeak, so don't do it.

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Similar Threads

  1. Stretch/increase icon 16x16 image size?
    By Phoenix in forum Skins / Icon & Sound Packs
    Replies: 4
    Last Post: June 25th, 2016, 02:32 PM
  2. TS3 server Debian MariaDB not working (Permissions bug?)
    By triggerim in forum Linux / FreeBSD
    Replies: 4
    Last Post: July 12th, 2014, 01:22 PM
  3. [On Todo] Ts3client RC1 x Debian lenny doesn't start, libs problem
    By Tomas in forum Bug Reports [EN/DE]
    Replies: 5
    Last Post: May 23rd, 2011, 09:30 AM
  4. TTS doesn't work
    By haru_arc in forum Bug Reports [EN/DE]
    Replies: 0
    Last Post: January 2nd, 2011, 11:24 PM
  5. [Request] Banner stretch/ ratios borders
    By Whinis in forum Windows
    Replies: 2
    Last Post: December 28th, 2009, 12:09 PM

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •