Ошибка MySQLdb: «Неизвестная база данных Python» с использованием MySQL Workbench

#python #mysql #database #mysql-workbench #mysql-python

#python #mysql #База данных #mysql-workbench #mysql-python

Вопрос:

Когда я запускаю приведенный ниже код на python 2.7.7, я получаю сообщение об ошибке также ниже.

код:

     import MySQLdb

    db = MySQLdb.connect(
        host="localhost",
        port=3306,
        user="root",
        passwd="mypassword",
        db="python"
    )
 

ошибка:
'_mysql_exceptions.OperationalError: (1049, "Unknown database 'python'")'

База данных была создана с использованием MySQL Workbench и сохранена на рабочем столе (в том же месте, что и файл python) с именем python. Я не использую Django или что-то в этом роде и не могу найти ответы там, где человек его не использует. Пожалуйста, помогите.

Комментарии:

1. Дважды проверьте, существует ли база данных ‘python’ на локальном хосте: 3306

2. Вы установили MySQL Workbench, но установили MySQL Server ли вы?? Посмотрите на службы вашей ОС.

3. да, сервер MySQL запущен на локальном хосте

4. Хорошо, поэтому я думаю, что ответа, который я дал ниже, достаточно для создания вашей базы данных. Сообщите мне в комментариях к ответу, если у вас есть другая проблема или недоразумение. 😉

Ответ №1:

MySQL Workbench создает .mwb файл, который не является базой данных. Этот файл представляет собой только схему сущностей-отношений (что очень полезно).

Вы должны экспортировать SQL create script свою схему.

 Menu File > Export > Forward Engineer SQL CREATE script
 

введите описание изображения здесь

Затем вы выполняете этот скрипт ( .sql файл), который создаст вашу базу данных.

Например, вы можете сделать это с помощью :

  • Команда MySQL
  • phpMyAdmin
  • MySQL workbench (через соединение)

Создайте соединение с MySQL Workbench :

введите описание изображения здесь

Скопируйте и выполните свой сценарий создания SQL :

введите описание изображения здесь

В вашем случае ваша схема должна быть такой (имя базы данных) :

введите описание изображения здесь

Для вашей информации база данных MySQL используется через IP / порт, а не через файл (например, SQLite — это файловая база данных, а не MySQL).

Комментарии:

1. Я экспортировал ее как выделенную, но как мне сделать все остальное? (как вы можете сказать, я не эксперт по SQL) (Я бы также предпочел не использовать phpMyAdmin, если это вообще возможно)

2. Графический способ: создайте соединение в MySQL Workbench. Способ оболочки: запустите инструмент командной строки MySQL и выполните / скопируйте в него экспортированный файл.

3. Как мне получить соединение для ссылки на python?

4. Ваш код на python, безусловно, в порядке (кстати, я не знаю python ;)). Проблема в том, что у вас есть сервер MySQL, но вы не создали python базу данных, к которой хотите подключиться, в своем коде python. Соединение с MySQL Workbench используется только в MySQL Workbench ! 😉 Сценарий создания SQL позволяет легко создавать вашу базу данных, вот и все.

5. Я добавил для вас еще одно изображение.