Jump to content

Problem mit ODBC-Zugriff


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Recommended Posts

Hallo Leute,

 

auf einem SBS2011-Server läuft eine mySQL 5.7 Instanz. Die habe ich vor einigen Jahren in einer älteren Version installiert und sie lief einige Jahre problemlos. Sie hält 2 Datenbanken.

 

Dann kam am 21.90 ein Stromausfall von ca 1 Sekunde. Da der Server an einer USV hängt, machte er lediglich einen Neustartund die board eigenen Funkltionen liefen wieder.

Aber die MYSQL-DB hatte sich zerlegt. Ich habe also zuerst geforscht und schließlich eine Neue Verison von MYSQL installiert und die Daten aus einem Backup gezogen und dort den passenden SQL Dump wieder in die DB eingespielt. Dann habe ich noch die ODBC-User wieder angelegt und eingerichtet.

Von Server ist das jetzt alles wieder prima. mit "Workbench" kann ich als Root und als die beiden ODBC-User in die Instanz hinein.

 

Das Problem liegt im Remote Zugriff innerhalb der Domäne: mit einer ODBC.-Verbindung erhalte ich nur Connection Errors. Die Error 10060 Meldung weit zunächst darauf hin, das es sich um Einstellungsprobleme von mySQL handelt, Die haber ich aber ineinem anderem Forum diskutiert. Mittlerweile habe ich ich SQL.-Seitig alles probiert, eingestellt und serverseitg getestet und mit erfolg getestet. Die ODBC-User können sich lokal und mittels IP anmelden ....

 

Aber mit dem installierten ODBC-Connect auf der Clientseite läuft nichts . Es dauert zunächst sehr lange und dann kommt wieder "Connection FAILED "

Das Wochenende habe ich mir damit schon mal versaut..

 

auf dem Server sieht der netstat so aus:

 

netstat -p tcp -a |find /N "3306"

0.0.0.0:3306   sbs-2011:0    ABHÖREN

 

auf dem Client gibt der Netstat nichts raus, es sei denn ich teste gerade:

 

netstat -p tcp -a |find /N "3306"

TCP 172.16.1.45:49594   sbs-2011:3306    SYN_GESENDET

 

 

Firewall Einstellungen:

Die Verbindung läuft innerhalb einer Domaine, die Clients haben Win7 und der SBS ist auch DC.

Es läuft die Serverfirewall, als eingehende Regel und als ausgehende Regel habe ich den Port 3306 zugelassen und zwar jeweils für die Domäne.

 

In der Clientseitigen Firewall habe ich ebenfalls mal reingeguckt. Muss hier auch etwas eingerichtet werden?

 

Gibt es Updates, die mir die Suppe versalzen?

Gibt es AV-Scanner, die stören?  Auf der Serverseite läuft Antivir Serveredition. Auf dem Testclient läuft AVAST und auf allen anderen Clients läuft MCAfee. Die habe ich aber als Test nicht herangezogen.

 

Schließlich habe ich die "Workbench" von MYSQL auf auf einem Cleint installiert. Läuft normalerweise ohne ODBC. Aber auch da erhalte ich dieselben Fehler.

 

Was ist hier bloß los???

 

Früher hatte ich mit ODBC überhaupt keine Probleme. Jetzt ist es nur noch gruselig.

 

 

Ein etwas frustierter Eismann

 

 

 

 

 

 

 

 

Link to comment

Hallo Magheinz

zu 1. Ich war zum Crash Zeitpunkt zuhause und bin angerufen worden. Die Sache mit dem kurzen Stromausfall sagte mir der Hausmeister. Daher ist das jetzt meine Vermutung. Der SBS-Server hat sich jedenfalls durch einen kompletten Neustart erholt.

 

ok....möglicherweise habe ich den Neustart manuell ausgeführt, als ich abends wieder am Start war. Weis ich jetzt auch nicht mehr genau.

 

 

zu 2. die my.ini kommt hier:

# Other default tuning values
# MySQL Server Instance Configuration File

[client]
no-beep

# pipe
socket=0.0
port=3306

[mysql]

default-character-set=utf8


# SERVER SECTION
# ----------------------------------------------------------------------
#
# The following options will be read by the MySQL Server. Make sure that
# you have installed the server correctly (see above) so it reads this 
# file.
#
# server_type=2
[mysqld]

# The next three options are mutually exclusive to SERVER_PORT below.
# skip-networking

enable-named-pipe

shared-memory

shared-memory-base-name=MYSQL

# The Pipe the MySQL Server will use
socket=MYSQL

# The TCP/IP Port the MySQL Server will listen on
port=3306


# Path to the database root
datadir=C:/ProgramData/MySQL/MySQL Server 5.6/Data

# created and no character set is defined
character-set-server=utf8

# The default storage engine that will be used when create new tables when
default-storage-engine=INNODB

# Set the SQL mode to strict
sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"

# Enable Windows Authentication
# plugin-load=authentication_windows.dll

# General and Slow logging.
log-output=FILE
general-log=0
general_log_file="AIRSERVER.log"
slow-query-log=1
slow_query_log_file="AIRSERVER-slow.log"
long_query_time=10

# Binary Logging.
# log-bin

# Error Logging.
log-error="mysql.err"

# Server Id.
server-id=1

# Secure File Priv.
secure-file-priv="C:/ProgramData/MySQL/MySQL Server 5.6/Uploads"

# The maximum amount of concurrent sessions the MySQL server will
# allow. One of these connections will be reserved for a user with
# SUPER privileges to allow the administrator to login even if the
# connection limit has been reached.
max_connections=151

# Query cache is used to cache SELECT results and later return them
# without actual executing the same query once again. Having the query
# cache enabled may result in significant speed improvements, if your
# have a lot of identical queries and rarely changing tables. See the
# "Qcache_lowmem_prunes" status variable to check if the current value
# is high enough for your load.
# Note: In case your tables change very often or if your queries are
# textually different every time, the query cache may result in a
# slowdown instead of a performance improvement.
query_cache_size=1M

# The number of open tables for all threads. Increasing this value
# increases the number of file descriptors that mysqld requires.
# Therefore you have to make sure to set the amount of open files
# allowed to at least 4096 in the variable "open-files-limit" in
# section [mysqld_safe]
table_open_cache=2000

# Maximum size for internal (in-memory) temporary tables. If a table
# grows larger than this value, it is automatically converted to disk
# based table This limitation is for a single table. There can be many
# of them.
tmp_table_size=129M

# How many threads we should keep in a cache for reuse. When a client
# disconnects, the client's threads are put in the cache if there aren't
# more than thread_cache_size threads from before.  This greatly reduces
# the amount of thread creations needed if you have a lot of new
# connections. (Normally this doesn't give a notable performance
# improvement if you have a good thread implementation.)
thread_cache_size=10

#*** MyISAM Specific options
# The maximum size of the temporary file MySQL is allowed to use while
# recreating the index (during REPAIR, ALTER TABLE or LOAD DATA INFILE.
# If the file-size would be bigger than this, the index will be created
# through the key cache (which is slower).
myisam_max_sort_file_size=100G

# If the temporary file used for fast index creation would be bigger
# than using the key cache by the amount specified here, then prefer the
# key cache method.  This is mainly used to force long character keys in
# large tables to use the slower key cache method to create the index.
myisam_sort_buffer_size=248M

# Size of the Key Buffer, used to cache index blocks for MyISAM tables.
# Do not set it larger than 30% of your available memory, as some memory
# is also required by the OS to cache rows. Even if you're not using
# MyISAM tables, you should still set it to 8-64M as it will also be
# used for internal temporary disk tables.
key_buffer_size=8M

# Size of the buffer used for doing full table scans of MyISAM tables.
# Allocated per thread, if a full scan is needed.
read_buffer_size=64K
read_rnd_buffer_size=256K

innodb_flush_log_at_trx_commit=1
innodb_log_buffer_size=9M
innodb_buffer_pool_size=831M
innodb_log_file_size=48M
innodb_autoextend_increment=64
innodb_buffer_pool_instances=8
innodb_concurrency_tickets=5000
innodb_old_blocks_time=1000
innodb_open_files=300
innodb_stats_on_metadata=0
innodb_file_per_table=1
innodb_checksum_algorithm=0
back_log=80
flush_time=0
join_buffer_size=256K
max_allowed_packet=4M
max_connect_errors=100
open_files_limit=4161
query_cache_type=1
sort_buffer_size=256K
table_definition_cache=1400
binlog_row_event_max_size=8K
sync_master_info=10000
sync_relay_log=10000
sync_relay_log_info=10000
bind-address = *

Meine Aspekte, die auf diesem Server Ärger machen könnten, sind

- 32-Bit Installation auf einem 64bit server -> die odbc32.dll liegt irgend wo in systemwow64 statt in system32....

- AV-Probleme....

- my.ini.

- Nach dem ich den zerschossenen mysql-server 5.6 deinstalliert habe, kam ein 5.7 drauf. aber wie immer in der Registry waren ein paar Einstellungen übrig, und der LAN-ODBC User suchte sich eine andere my.ini in einem Pfad, den ich vorsorglich gelöscht hatte. Einstellung habe ich über die Workbench auf dem Server behoben. Der Fehler tritt aber noch trotzdem auf.

- ODBC DSN von einem 64-Server laufen wohl nicht einfach so, wenn auf dem Client ein 32-Bit ODBC-Treiber für MySQL installiert ist.

 

Gruß Eismann

Link to comment

Mittlerweile haben wir den Betrieb des DB-Server eingestampft.

Als Berufskolleg, welche mit dem DB-Betrieb kein Geld verdient, ist der Admin Aufwand einfach zu hoch. Die Programme lassen wir einfach mit Access-Dateien im Netz laufen.

Später ist angedacht, dass wir die Wartung der Programme an einen Externten Anbieter abgeben, der sowieso für die Stadt arbeitet.

 

Lieben Gruß

Eismann

Link to comment
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...