質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

90.54%

  • MySQL

    6833questions

    MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

  • Python 2.7

    1431questions

    Python 2.7は2.xシリーズでは最後のメジャーバージョンです。Python3.1にある機能の多くが含まれています。

MySQLdbを接続するには

受付中

回答 1

投稿 編集

  • 評価
  • クリップ 0
  • VIEW 921

kasaburanka

score 143

お世話になります。MySQLの設定についてお教えください
C:\Users\mtg-1>python 
Python 2.7.12 (v2.7.12:d33e0cf91556, Jun 27 2016, 15:19:22) [MSC v.1500 32 bit (Intel)] on win32 
Type "help", "copyright", "credits" or "license" for more information.

import MySQLdb 
connection = MySQLdb.connect( 
...     host="localhost", 
...     port=3306, 
...     db="test", 
...     user="username", 
...     passwd="password", 
... 
... 
... ) 
Traceback (most recent call last): 
File "<stdin>", line 6, in <module> 
File "C:\python27\lib\site-packages\MySQLdb\init.py", line 81, in Connect 
return Connection(*args, kwargs) 
File "C:\python27\lib\site-packages\MySQLdb\connections.py", line 187, in init 
super(Connection, self).init(*args, kwargs2) 
_mysql_exceptions.OperationalError: (2003, "Can't connect to MySQL server on 'localhost' (10061)") 
どのようにクリアすればいいですか?
もともとは下記のようになっていました。基本的なことがわかりません

Import MySQLdb
Connection = Mysql>connect(
host=”localhost”,
port=3306,
db=”test”,
user=”username”,
passwd=”password”,
)
cursor = connection.cursor()
cursor.execute(‘’’CREAT TABLE products (name text, price integer);’’’)
cursor.execute(‘’’INSERT INTO products (name, price)VALUES (‘apple’, 198);’’’)
cursor.execute(‘’’INSERT INTO products (name, price)VALUES (‘orange’, 100);’’’)
connection.commit()
cursor.execute(‘’’SELECT * FROM products:’’’)
products = cursor.fetchall()
print(products) # -> ((‘apple’, 198L), (‘orange’, 100L))

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 1

0

エラーメッセージ(Can't connect to MySQL server on 'localhost')のとおり、MySQLサーバーに接続できないようです。まず、コマンドプロンプト等でそもそもデータベースに接続できるかどうか、確認してください。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/02/14 09:04

    ありがとうございます。もともとはAnaconda2 64bitでMySQLがインポートできなくって試行錯誤していました参考ページは下記ですhttps://teratail.com/questions/65516
    Python2.7.12 32Bitからインストールしてimport MySQLdbでこの作業をしました。この作業をする前に事前にやっておかない部分がわかりません
    その部分からお教えいただけるとありがたいです。よろしくお願いいたします

    キャンセル

  • 2017/02/16 01:21

    まずはエラーの原因がどこにあるか探しましょう。MySQLサーバーに直接入れるか試してみてください。入れるのであれば Python のプログラム側の問題、入れないのであればMySQL側の問題とわかります。

    経験則ですが、このエラーだと MySQLサーバーをそもそも起動していない、ユーザー名・パスワードが間違っているといったケアレスミスの場合が多いです。

    キャンセル

  • 2017/02/16 09:44

    お世話になります。User名もPasswordも設定はしていません。
    File "C:\python27\lib\site-packages\MySQLdb\init.py", line 81, in Connect
    return Connection(*args, kwargs)
    File "C:\python27\lib\site-packages\MySQLdb\connections.py", line 187, in init
    super(Connection, self).init(*args, kwargs2)
    この部分が問題となっているので接続できないと思っています。ここを解消するにはどうすればよいのでしょうか?

    キャンセル

  • 2017/02/16 10:10

    > User名もPasswordも設定はしていません。
    つまり MySQLのセットアップをしていないのですね?であれば Python のコードは関係ありません。まず最初に MySQL をセットアップしてください。teratail はハンズオン研修会ではないので、セットアップ方法についてはご自身でお調べください。

    また何度も言っていますが、コマンドプロンプト(mysqlclient)で MySQLサーバーへ接続できたのでしょうか?

    もう一度いいます。ひとまず Python からは離れてください。
    まず、MySQLが正しく動くことを目指してください。

    キャンセル

  • 2017/02/16 13:29

    ありがとうございます。とりあえず基本を再度考えてみます
    本体のMySQLをインストールしていませんでした。MySQL for Pythonをインストールしただけでしたのでこのようになったかもしれません。ゆっくり考えてみます書籍ではこのような説明はなかったのでよく理解できていません。

    キャンセル

同じタグがついた質問を見る

  • MySQL

    6833questions

    MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

  • Python 2.7

    1431questions

    Python 2.7は2.xシリーズでは最後のメジャーバージョンです。Python3.1にある機能の多くが含まれています。