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

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

新規登録して質問してみよう
ただいま回答率
85.48%
MySQL

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

Python 2.7

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

Q&A

1回答

4545閲覧

MySQLdbを接続するには

Casablanca_mtg

総合スコア209

MySQL

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

Python 2.7

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

0グッド

0クリップ

投稿2017/02/13 05:17

編集2017/02/13 10:38

お世話になります。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))

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

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

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

投稿2017/02/13 07:54

miyahan

総合スコア3095

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Casablanca_mtg

2017/02/14 00:04

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

2017/02/15 16:21

まずはエラーの原因がどこにあるか探しましょう。MySQLサーバーに直接入れるか試してみてください。入れるのであれば Python のプログラム側の問題、入れないのであればMySQL側の問題とわかります。 経験則ですが、このエラーだと MySQLサーバーをそもそも起動していない、ユーザー名・パスワードが間違っているといったケアレスミスの場合が多いです。
Casablanca_mtg

2017/02/16 00: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) この部分が問題となっているので接続できないと思っています。ここを解消するにはどうすればよいのでしょうか?
miyahan

2017/02/16 01:10

> User名もPasswordも設定はしていません。 つまり MySQLのセットアップをしていないのですね?であれば Python のコードは関係ありません。まず最初に MySQL をセットアップしてください。teratail はハンズオン研修会ではないので、セットアップ方法についてはご自身でお調べください。 また何度も言っていますが、コマンドプロンプト(mysqlclient)で MySQLサーバーへ接続できたのでしょうか? もう一度いいます。ひとまず Python からは離れてください。 まず、MySQLが正しく動くことを目指してください。
Casablanca_mtg

2017/02/16 04:29

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問