Подключение к удаленной базе данных MySQL через Python

Я пробовал следующий скрипт, но, к сожалению, не работает. Я использую бесплатный поставщик базы данных MySQL. Есть идеи?

import MySQLdb myDB = MySQLdb.connect(host="208.11.220.249",port=3306,user="XXXXX",passwd="XXXXX",db="XXXXX") cHandler = myDB.cursor() cHandler.execute("SHOW DATABASES") results = cHandler.fetchall() for items in results: print items[0] 

В настоящее время я получаю следующую ошибку:

 super(Connection, self).__init__(*args, **kwargs2) _mysql_exceptions.OperationalError: (1044, "Access denied for user 'XXXXX'@'%' to database 'XXXXX'") 

  • Django - откат с транзакцией Atom
  • Требуется ли украшатель слотов PySide?
  • Самый быстрый побитовый xor между двумя многобайтовыми двоичными переменными данных
  • Как правильно закрыть IPython Notebook?
  • Python: Когда переменная передается по ссылке и когда по значению?
  • Число фильтров Regex делится на 3
  • Понимание списка Python против .NET LINQ
  • Есть ли какой-нибудь модуль Python, который помогает обходить данные из DOM, загружаемых Javascript?
  • 3 Solutions collect form web for “Подключение к удаленной базе данных MySQL через Python”

      GRANT ALL ON *.* TO user@192.168.39.17 -- client ip address IDENTIFIED BY 'pwd'; 

    редактировать

    Это SQL, который вы запустили в базе данных, чтобы убедиться, что user имеет доступ ко всему. pwd – пароль пользователя.

    В основном, этот ответ предполагает, что проблема подключения связана с полномочиями.

    Это то, что я сделал бы

    1. Посмотрите, действительно ли порт открыт на этом компьютере.
    2. На машине, с которой вы подключаетесь, откройте консоль / cmd / terminal и посмотрите, можете ли вы подключиться с помощью mysql -u XXXX -h 208.11.220.249 -p . Если ваш клиент mysql не может подключиться, тогда вы не можете подключиться с помощью python

    У вас нет разрешения на подключение к базе данных с этим пользователем. Следуй этим шагам:

    1. подключиться к mysql DB: mysql -h208.11.220.249 -uXXXXX -pXXXXX XXXXX

    2.Если у вас нет разрешения на подключение к БД, попробуйте создать пользователя с дистанционным разрешением

    GRANT ALL ON DB. * – Имя базы данных TO user @ ip – IP-адрес клиента IDENTIFIED BY 'pwd';

    3.В последней проверке my.cnf. «bind-address» должен быть 0.0.0.0. Если вы хотите подключить все удаленные адреса.

    Interesting Posts

    Как извлечь параметры из списка и передать их вызову функции

    подвыбор каждой n-й записи в массиве numpy

    В Python, как я могу получить доступ к «статическим» переменным класса в методах класса

    Есть ли что-нибудь, что мне нужно знать об использовании Tkinter и pygame вместе?

    Какие символы Unicode принимаются в именах переменных Python3?

    Python: как я могу импортировать все переменные?

    Что такое питонический способ доступа к вложенным dicts без ошибок NoneType

    Python: передача переменных в методы Wordnet Synsets в NLTK

    Итерация над словарем python для извлечения только требуемых строк

    config fail nginx настройка для tornadoweb, неизвестная директива "пользователь"

    Чистый вызов виртуальной функции

    распаковать первые два элемента в списке / кортеже

    Как вы называете код Python кодом C?

    Запросы не могут вызывать несколько маршрутов в одном приложении Flask

    Понимание вложенного списка

    Python - лучший язык программирования в мире.