2009-11-24 8 views
0

J'ai un problème avec ODBC qui m'a bloqué, et je ne trouve pas de réponse nulle part qui résout mon problème. Version courte: Je ne peux pas me connecter à mon installation MySQL4 sur Ubuntu Jaunty à partir de mon DNS WinXP ODBC System, même si je peux me connecter très bien en utilisant le client en ligne de commande à la fois sur cette machine particulière et d'autres.Ce n'est pas votre problème habituel de connexion MySQL4 + ODBC

Une quantité énorme de détails commence ici!

J'ai une installation MySQL5 standard sur Ubuntu Jaunty 9.04. J'ai installé manuellement MySQL4 à partir de binaires précompilés dans/usr/local/mysql4. Voici la commande de démarrage:

/usr/local/mysql4/bin/mysqld_safe --user = mysql4 --port = 3307 --socket =/var/run/mysql4d/mysql4d.sock --basedir = '/ usr/share/mysql4/'--datadir ='/var/lib/mysql4/'--log-erreur ='/var/log/mysql4.err '--log ='/var/log/mysql4.log '- -language = '/ usr/local/mysql-standard-4.1.22-pc-linux-gnu-i686-glibc23/share/mysql/french' &

Ceci semble fonctionner plutôt bien. Je n'ai pas problèmes de connexion avec le client MySQL soit localhost ou depuis une machine distante via TCP/IP:

mysql -u inContact -h myhost.com --password = 'blah' --port = 3307

Sur ce même serveur, j'ai virtualbox sous XP Pro. Je peux également connecter aucun problème en utilisant mysql sur la ligne de commande. Toutefois, l'utilisation des mêmes paramètres pour le DSN du système ODBC ne fonctionne pas. Je reçois le message "Host 'myhost.com' n'est pas autorisé à se connecter à ce serveur MySQL".

Le seul message que je vois à ce sujet est en mysql4.log:

091124 10:56:50 5 Connect [email protected] sur inContact

Quelqu'un a une idée? Je suis totalement à perte ici ...

Répondre

0

Doit avoir mentionné que les privilèges ont déjà été accordés, désolé!

Le problème s'est avéré être des tables mysql.user et mysql.db corrompues. Réparer les tables n'a pas réussi, j'ai donc essayé de supprimer la plupart des enregistrements, puis de réparer la table (ce qui a fonctionné), puis j'ai rajouté les utilisateurs et les GRANT. A travaillé après cela :)

0

Vous devez accorder des autorisations à l'utilisateur que vous souhaitez vous connecter. Utilisez l'instruction GRANT.