View Full Version : Startup problem using MySQL
I just installed the latest version of the TS server for Linux.
Here is what I get after having configured it to use my MySQL 4.1 server:
---------------------------------------------------------------
-------------- log started at 05-04-05 13:44 -------------
---------------------------------------------------------------
05-04-05 13:44:27,ALL,Info,server, Server init initialized
05-04-05 13:44:27,ALL,Info,server, Server version: 2.0.20.1 Linux
05-04-05 13:44:28,WARNING,Info,SQL, created table ts2_servers
05-04-05 13:44:28,WARNING,Info,SQL, created table ts2_server_privileges
05-04-05 13:44:28,WARNING,Info,SQL, created table ts2_channels
05-04-05 13:44:28,WARNING,Info,SQL, created table ts2_channel_privileges
05-04-05 13:44:28,WARNING,Info,SQL, created table ts2_clients
05-04-05 13:44:28,WARNING,Info,SQL, created table ts2_bans
----------------------------------------------------------
---------------------------------------------------------------
--------------- log ended at 05-04-05 13:44 --------------
---------------------------------------------------------------
05-04-05 13:44:28,ERROR,Info,server, EDatabaseError: dbExpress Error: Operation Not Supported
---------------------------------------------------------------
Here is the server.ini settings:
[DBEXPRESS]
sqldir=mysql_sql/
Drivername=mysql
Database=teamspeak
Hostname=localhost
User_name=teamspeak
Password=
GetDriverFunc=getSQLDriverMYSQL
VendorLib=/usr/lib/libmysqlclient_r.so.10.0.0
LibraryName=./libsqlmy.so
Active=1
Then I get this "Operation Not Supported" upon each attempt to start the server again.
It could create the tables, but then nothing. Weird.
Any idea?
a quick search in this forum shows some threads dealing with mysQL 4.1. Didn't found an answer but you might put in some more effort and stress the search function ?
That's what I did. At the time of my initial post, and a couple of hours ago.
I use the 3.x library, etc. as explained on the forum. The server could connect and create the tables, so it was not an authentification problem.
But I think I found the problem. I checked every query one by one and found that the problem is with the "read_servers.sql" query. For some reason it won't work unless you add a where clause.
meisenst
25-06-2005, 03:57
But I think I found the problem. I checked every query one by one and found that the problem is with the "read_servers.sql" query. For some reason it won't work unless you add a where clause.
I changed the query in mysql_sql/read_servers.sql to read:
select * from ts2_servers WHERE i_server_id > 0;
I believe (though I may be wrong, someone please correct me if so) that that will always select all active servers anyway, and it fixed the problem for me.
EDITED by Guldi: thx for the feedback
Thanks for this help, it did the trick :)
Lambik
After customizing the SQL queries, I stumbled across this "Operation Not Supported" again. Any idea of what it means exactly? And is there a way to have a bit more information about the SQL error?
Michael_Jim
04-07-2005, 21:03
I changed the query in mysql_sql/read_servers.sql to read:
select * from ts2_servers WHERE i_server_id > 0;
I believe (though I may be wrong, someone please correct me if so) that that will always select all active servers anyway, and it fixed the problem for me.
EDITED by Guldi: thx for the feedback
yeah
that it is.
thx really much. my ts2 Server with mySQL ist working fine now.
Michael_Jim
Michael_Jim
10-07-2005, 10:19
Hi
i found a new error.
10-07-05 10:10:09,ALL,Info,AccessLog, SID: 1 client connected [IP: 85.73.164.16, Nick: Michael_Jim, LoginName: Michael_Jim, DBID: 3, Version: 2.0.32.60]
10-07-05 10:10:09,ERROR,All,CHANNEL, SID: 1 GetChannelAttribs Exception: EDatabaseError.dbExpress Error: Operation Not Supported
10-07-05 10:10:09,ALL,Info,SALog, SID: 1 serveradmin connected [IP: 85.73.164.16, Nick: Michael_Jim, LoginName: Michael_Jim]
10-07-05 10:10:30,ERROR,All,SQL, ExecSQL Error: EDatabaseError.Duplicate entry '0' for key 1 in query: insert into ts2_clients
(i_client_server_id,
b_client_privilege_serveradmin,
s_client_name,
s_client_password,
dt_client_created)
values
(1,
-1,
'tester',
'tester',
'10072005101030137');
when i log in the first error comes. But i can log in. It's just shown in the log file.
Then the second error i much harder. I want to create a User "tester" with the password "tester" But i get the error.
Does anybody know what this means. I'm running the server with a mySQL 4.1 Database.
Michael_Jim
rhoekstra
20-08-2005, 12:37
I am not sure where you received the first error, as it doesn't seem to be happening to me,
and the second error, could that be a coincidence? I also tried to create a user tester, and that worked fine. I am not sure what is causing this problem. Is a solution found yet?
I just managed to have my ts working on my upgraded mysql database (4.1.12 now on FC4), and that thanks to the fix in this thread, but I am curious to any problems that arise once the server is running again.
thanks for any info.
I followed this steps above, and it works fine with mysql 4.1.14
But i still get this error at start
18-10-05 02:26:38,ALL,Info,server, Server init finished
18-10-05 02:26:38,WARNING,Info,server, TeamSpeak Server daemon activated
18-10-05 02:26:43,ERROR,All,CHANNEL, SID: 1 GetChannelAttribs Exception: EDatabaseError.dbExpress Error: Operation Not Supported
i guess there are more queries to change, but can anyone give me a list to change?
I followed this steps above, and it works fine with mysql 4.1.14
But i still get this error at start
18-10-05 02:26:38,ALL,Info,server, Server init finished
18-10-05 02:26:38,WARNING,Info,server, TeamSpeak Server daemon activated
18-10-05 02:26:43,ERROR,All,CHANNEL, SID: 1 GetChannelAttribs Exception: EDatabaseError.dbExpress Error: Operation Not Supported
i guess there are more queries to change, but can anyone give me a list to change?
i'm dealing with the same problem.
only seems to happen with channel privaleges. both retrieving and setting those.
can't find any errors in the queries though :(
did anyone find a solution for this yet?
thanx
marcelrx
18-10-2005, 11:13
I followed this steps above, and it works fine with mysql 4.1.14
But i still get this error at start
18-10-05 02:26:38,ALL,Info,server, Server init finished
18-10-05 02:26:38,WARNING,Info,server, TeamSpeak Server daemon activated
18-10-05 02:26:43,ERROR,All,CHANNEL, SID: 1 GetChannelAttribs Exception: EDatabaseError.dbExpress Error: Operation Not Supported
i guess there are more queries to change, but can anyone give me a list to change?
What about auto_increment?
Set the channel_id server_id to auto_increment
What about auto_increment?
Set the channel_id server_id to auto_increment
all tables already have an auto_increment key
marcelrx
18-10-2005, 16:07
all tables already have an auto_increment key
If you test it with a clear database. Teamspeak should create the tables. Does this work? Maybe you have a syntax error in your db.
FrankTM and i made clear new tables, and exact same problem..
If we make a channel it does not set anything in channel_prviliges tabel. if i rejoin the server, it lost the privilige about channel admin in the channel i created
Seems to be a problem for reading and settig things in channel_priviliges table.
marcelrx
18-10-2005, 21:48
FrankTM and i made clear new tables, and exact same problem..
If we make a channel it does not set anything in channel_prviliges tabel. if i rejoin the server, it lost the privilige about channel admin in the channel i created
Seems to be a problem for reading and settig things in channel_priviliges table.
Control permissons of the db user?
Auto_increment?
server.log?
We did not change permissions, it did work with 4.0....
I posted error from error.log above...
Could it be the search_client.sql bcz when we altered that SQL statement and it didnt give as many errors as before, but it still does.
we changed all the fields to auto increment, but that had no succes.
marcelrx
19-10-2005, 14:54
We did not change permissions, it did work with 4.0....
I posted error from error.log above...
Could it be the search_client.sql bcz when we altered that SQL statement and it didnt give as many errors as before, but it still does.
we changed all the fields to auto increment, but that had no succes.
Can you show me the server.ini file.
Also have you test it with the root user to connect to the db.
Can you show me the server.ini file.
Also have you test it with the root user to connect to the db.
no i haven't
but i have checked that ts2 has full access to the table it should use
also.. it doesnt provide an sql error
is there any way to get more details from the ts2 server program?
[edit]
i've uploaded server.ini as server.txt
**** = filtered stuff :p
marcelrx
24-10-2005, 10:39
no i haven't
but i have checked that ts2 has full access to the table it should use
also.. it doesnt provide an sql error
is there any way to get more details from the ts2 server program?
[edit]
i've uploaded server.ini as server.txt
**** = filtered stuff :p
At the Server.ini:
VendorLib=./libmysqlclient_r.so.10
Is this the right path? Normally the are in the libary folder?
Also I would test if the server is running with root user.
I cant be a problem with rights, because the server starts and works fine.
Only thing like moderated channels ( V, AV, CA, etc ) or lost any time a user reconnects.
It looks like ts has problems with the queries to write and read that priviliges.
all other queries seem te be ok. e.g. dont give any errors.
I`m wondering why the query for servers needs the WHILE > 0 part from mysql 4.2 and higher....
the result set of rows / objects is EXACTLY the same, so i think it is not a TS problem.
Could it be MYSQL that changed the way the rows are returned? or something like that.?
You have to use a MySQL 3.x client library therefore there are some changes in 4.x especially > 4.1 that result in problems with TeamSpeak. So it is always better to you SQLite which can also be edited with e.g. PHP
You have to use a MySQL 3.x client library therefore there are some changes in 4.x especially > 4.1 that result in problems with TeamSpeak. So it is always better to you SQLite which can also be edited with e.g. PHP
SQLite is not realy an option.
I just want to know what is changed in mysql 4.2 (vs 4.1) because we did not change the library file. It worked perfect with 4.1
Since we upgrade mysql from 4.1 to 4.2 it gives the errors mentioned above.
The weird thing is the server query SELECT * FROM servers is EXACTLY the same as SELECT * FROM servers WHERE s_id > 0
The result set are the same, but on some way it affects the outcome in TS. Is there anyone with decent knowledge of mysql, and its changes since 4,1?
Yes folks, that did the trick. Thanks a lot!
I just fixed the problem
select * from ts2_channel_privileges where i_cp_server_id = :iServerID and i_cp_channel_id = :iChannelID and i_cp_client_id = :iClientID
put that in mysql_sql/read_channel_privilege.sql
just on one single line exactly as above..
no more errors in log file.....
If somebody wants to wrap up these fixes into one post, (might be sticky) plz go ahead. it took al long time to sort this out, and it is so far the only way to get teamspeak working on mysql 4.1 and above.
As debian, and other linux distro`s have mysql 4.1 and higher, more and more people will need this fix to have it working!
Unfrigging believeable but your 'solution' [put the statement on one line] solved the dreaded "GetChannelAttribs Exception: EDatabaseError.dbExpress Error: Operation Not Supported" error.
It worked perfect with 4.1
Not for me:
mysqld --version
mysqld Ver 4.1.14-Debian_6 for pc-linux-gnu
I have the -exact- problems you seem to be having with 4.2
If somebody wants to wrap up these fixes into one post, (might be sticky) plz go ahead.
Done:
http://forum.goteamspeak.com/showthread.php?p=114582#post114582
Cheers,
mokum
notpappy
03-11-2005, 18:20
Wow thanks a ton with this info "[put the statement on one line]" this has solved ALL my server integration problems with my Forum software. Incredible ... really who would have known.
Thanks everyone for providing insight into these problems within this thread.
Mokum, you still have this/or other problem or not?
I changed the query in mysql_sql/read_servers.sql to read:
select * from ts2_servers WHERE i_server_id > 0;
I believe (though I may be wrong, someone please correct me if so) that that will always select all active servers anyway, and it fixed the problem for me.
EDITED by Guldi: thx for the feedback
worked for me :)
vBulletin® v3.7.3, Copyright ©2000-2009, Jelsoft Enterprises Ltd.