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

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

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

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

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

MacOS(OSX)

MacOSとは、Appleの開発していたGUI(グラフィカルユーザーインターフェース)を採用したオペレーションシステム(OS)です。Macintoshと共に、市場に出てGUIの普及に大きく貢献しました。

データベース

データベースとは、データの集合体を指します。また、そのデータの集合体の共用を可能にするシステムの意味を含めます

Q&A

解決済

1回答

3724閲覧

サーバーのMySQLデータベースにPythonで接続できない

oroshitaruuuuu

総合スコア25

MySQL

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

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

MacOS(OSX)

MacOSとは、Appleの開発していたGUI(グラフィカルユーザーインターフェース)を採用したオペレーションシステム(OS)です。Macintoshと共に、市場に出てGUIの普及に大きく貢献しました。

データベース

データベースとは、データの集合体を指します。また、そのデータの集合体の共用を可能にするシステムの意味を含めます

0グッド

2クリップ

投稿2018/08/21 15:38

編集2018/08/21 18:23

前提・実現したいこと

ロリポップからレンタルしてるサーバーのMySQLデータベースにPythonで接続したい

環境

OS:macOS ver10.13.6
言語:Python ver3.6
IDE:Pycharm
パッケージ:
・mysql-connector-python
・mysql-connector-python-rf

発生している問題・エラーメッセージ

以下のようなエラーが発生してしまい、データーに接続できません。
対処法を調べて試しましたが、上手くいきませんでした。
参考サイト:http://pickles-ochazuke.hatenablog.com/entry/2017/12/09/164921

Traceback (most recent call last): File "/Users/***/Library/Python/3.6/lib/python/site-packages/mysql/connector/network.py", line 509, in open_connection self.sock.connect(sockaddr) TimeoutError: [Errno 60] Operation timed out During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/Users/***/../***.py", line 14, in <module> database = 'LAA*******-***', File "/Users/***/Library/Python/3.6/lib/python/site-packages/mysql/connector/__init__.py", line 179, in connect return MySQLConnection(*args, **kwargs) File "/Users/***/Library/Python/3.6/lib/python/site-packages/mysql/connector/connection.py", line 95, in __init__ self.connect(**kwargs) File "/Users/***/Library/Python/3.6/lib/python/site-packages/mysql/connector/abstracts.py", line 716, in connect self._open_connection() File "/Users/***/Library/Python/3.6/lib/python/site-packages/mysql/connector/connection.py", line 206, in _open_connection self._socket.open_connection() File "/Users/***/Library/Python/3.6/lib/python/site-packages/mysql/connector/network.py", line 512, in open_connection errno=2003, values=(self.get_address(), _strioerror(err))) mysql.connector.errors.InterfaceError: 2003: Can't connect to MySQL server on 'mysql***.phy.lolipop.lan:3306' (60 Operation timed out)

3306はデフォルトポート番号

該当のソースコード

Python

1import mysql.connector 2 3conn = mysql.connector.connect( 4 host = 'mysql***.phy.lolipop.lan', 5 port = 3306, 6 user = 'LAA*******', 7 password = '*******', 8 database = 'LAA*******-***', 9) 10 11connected = conn.is_connected() 12print(connected) 13if (not connected): 14 conn.ping(True)

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

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

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

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

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

guest

回答1

0

ベストアンサー

ロリポップの提供するMySQLに対する接続は、同一ローカルエリア内の同契約内のWEBサーバー、SSHからのみアクセス可能であり、外部ネットワークからの接続はできません。

参考
http://protagram.com/infra/%E3%83%AD%E3%83%AA%E3%83%9D%E3%83%83%E3%83%97%E3%83%AC%E3%83%B3%E3%82%BF%E3%83%AB%E3%82%B5%E3%83%BC%E3%83%90%E3%83%BC%E3%81%AF%E5%A4%96%E9%83%A8%E3%82%B5%E3%83%BC%E3%83%90%E3%83%BC%E3%81%8B%E3%82%89


SSHトンネルを使ってアクセスすることは可能ですので、Python でSSHポートフォワード + MySQL 接続を行えば接続できるでしょう。

投稿2018/08/21 18:33

編集2018/08/21 18:37
退会済みユーザー

退会済みユーザー

総合スコア0

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

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

oroshitaruuuuu

2018/08/22 05:21

回答ありがとうございました。 そもそも外部から接続出来なかったんですねw、ロリポップのサービス仕様を確認しておくべきでした。 教えて頂いた方法で試してみたいと思います。 ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問