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

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

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

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

Python 3.x

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

URL

URL(ユニフォームリソースロケータ)とは、インターネット上のリソース(Webページや電子メールの宛先等)を特定するための形式的な記号の並びの事を言う。

Q&A

解決済

4回答

26166閲覧

MySQLのURLはどこを指しているのでしょうか?

hososo

総合スコア34

MySQL

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

Python 3.x

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

URL

URL(ユニフォームリソースロケータ)とは、インターネット上のリソース(Webページや電子メールの宛先等)を特定するための形式的な記号の並びの事を言う。

0グッド

1クリップ

投稿2018/08/01 05:15

とても基本的なことで申しわけございません。調べても出てこなかったためここで質問させていただきました。

以下、Python3でのMySQLへの接続なのですが、

from urllib.parse import urlparse import mysql.connector url = urlparse('mysql://user:pass@localhost:3306/test') conn = mysql.connector.connect( host = 'localhost' or url.hostname, port = '3306' or url.port, user = 'user' or url.username, password = 'pass' or url.password, database = 'test' or url.path[1:], ) if conn.is_connected(): print("接続完了") #接続完了と表示される

'mysql://user:pass@localhost:3306/test'

においてこのURL?はどこを指しているのでしょうか?
"mysql"はスキーム?プロトコル?
なぜ"http://"ではないのでしょうか?

曖昧な質問内容でございますが、解説どうかよろしくお願い致します。

環境
OS:windwos10
Python:3.6.5 :: Anaconda,Inc.

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

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

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

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

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

guest

回答4

0

ベストアンサー

においてこのURL?はどこを指しているのでしょうか?

これは単に必要な情報をまとめてあるだけで、意味のあるURLではありません

urlparseを使って、ホストやポートなど必要な情報を取り出せるような文字列」以上の意味はありません。

投稿2018/08/01 05:32

maisumakun

総合スコア145123

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

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

hososo

2018/08/01 05:50

ただの情報だったのですね。スッキリしました。回答ありがとうございます。
guest

0

どこを指しているのでしょうか?

書いてある通りです。
「locahostという名前のホストに3306番ポートで接続し、userとpassで認証してアクセス出来るtestという名前のMySQLデータベース」を指しています。

"mysql"はスキーム?プロトコル?

ここではスキームですね。

なぜ"http://"ではないのでしょうか?

HTTPプロトコルでアクセスするものでないから。

投稿2018/08/01 05:39

otn

総合スコア84423

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

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

otn

2018/08/01 05:43

http://user:pass@localhost:8000/test/ ⇒ 「locahostという名前のホストに8000番ポートで接続し、userとpassで認証してアクセス出来るtestという名前のディレクトリ」 というのと同じレベルの話です。
hososo

2018/08/01 05:54 編集

確かによくよく考えてみるとHttp~から始まるURLも今回のも同じことだと気づきました。より理解が深まりました。回答ありがとうございます。
otn

2018/08/01 05:56

どちらも、「ネットワーク上のリソースを指し示す情報」という意味では同じです。
guest

0

こういった場所を示すものは、名前空間(XML 名前空間入門)と呼ばれ、urlなども含まれます。
表現方法は似通ったりしますが、お示しのものはmysqlの接続情報でurlとは別なものです。

投稿2018/08/01 05:41

sazi

総合スコア25138

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

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

hososo

2018/08/01 05:56

URLも名前空間だったとはとても意外でした。奥が深いですね。回答ありがとうございます。
guest

0

あくまで「接続文字列」であり書式に則っているだけです。

  • [version 5.6

MySQL 5.6 リファレンスマニュアル](https://dev.mysql.com/doc/refman/5.6/ja/federated-create-connection.html)

接続文字列の書式は次のとおりです。

scheme://user_name[:password]@host_name[:port_num]/db_name/tbl_name

投稿2018/08/01 05:35

m.ts10806

総合スコア80765

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

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

hososo

2018/08/01 05:51

参考ページリンクありがとうございます。勉強します。回答ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問