質問編集履歴

6

データベース情報追記

2021/05/20 16:24

投稿

bz5adgjmptw0
bz5adgjmptw0

スコア18

test CHANGED
File without changes
test CHANGED
@@ -32,6 +32,8 @@
32
32
 
33
33
  ### データベース情報
34
34
 
35
+ MySQL
36
+
35
37
  - データベース名:testdb
36
38
 
37
39
  - ユーザ名:test

5

SSHTunnelForwarder実行結果に関する追記

2021/05/20 16:23

投稿

bz5adgjmptw0
bz5adgjmptw0

スコア18

test CHANGED
File without changes
test CHANGED
@@ -421,3 +421,11 @@
421
421
  が悪さしていると思われます。`var/run/mysqld/mysqld.sock` を確認したらファイルが存在しなかったため新たに作成してもう一回実行してみましたが、うまく行きませんでした。
422
422
 
423
423
  なにか考えられる原因がわかる方がいればご教授お願いします。よろしくお願いいたします。
424
+
425
+
426
+
427
+
428
+
429
+ ### 追記
430
+
431
+ SSHTunnelForwarderを実行しできており、server変数はきちんと取得されています。

4

database.pyの編集、それに伴うエラーの変更、文章の大幅な変更

2021/05/20 09:45

投稿

bz5adgjmptw0
bz5adgjmptw0

スコア18

test CHANGED
File without changes
test CHANGED
@@ -18,6 +18,30 @@
18
18
 
19
19
 
20
20
 
21
+ ### SSH情報(セキュリティのため仮のものにしています)
22
+
23
+ - ホスト名:111.111.111.111
24
+
25
+ - ポート:1111
26
+
27
+ - SSHユーザ名:testuser
28
+
29
+ - SSHパスワード:testpassword
30
+
31
+
32
+
33
+ ### データベース情報
34
+
35
+ - データベース名:testdb
36
+
37
+ - ユーザ名:test
38
+
39
+ - パスワード:password
40
+
41
+ - ホスト名:localhost
42
+
43
+
44
+
21
45
  ### ディレクトリ構成
22
46
 
23
47
  ```
@@ -40,31 +64,39 @@
40
64
 
41
65
  ```
42
66
 
67
+ from sshtunnel import SSHTunnelForwarder
68
+
43
69
  from sqlalchemy import create_engine
44
70
 
45
71
  from sqlalchemy.orm import sessionmaker, scoped_session
46
72
 
47
73
 
48
74
 
49
- DATABASE_URL = "mysql://%s:%s@%s/%s?charset=utf8" % (
50
-
51
- "ユーザ名",
52
-
53
- "パスワード",
75
+ with SSHTunnelForwarder(
54
-
76
+
55
- "外部サーバのIPアドレス",
77
+ ("111.111.111.111", 1111),
78
+
56
-
79
+ ssh_host_key=None,
80
+
57
- "データベース名",
81
+ ssh_username="testuser",
82
+
58
-
83
+ ssh_password="testpassword",
84
+
85
+ remote_bind_address=("127.0.0.1", 3306),
86
+
87
+ ) as server:
88
+
89
+ DATABASE_URL = f'mysql://{"test"}:{"password"}@localhost:{server.local_bind_port}/{"testdb"}?charset=utf8'
90
+
91
+ ENGINE = create_engine(DATABASE_URL, encoding="utf-8", echo=True)
92
+
93
+ # Sessionの作成
94
+
95
+ session = scoped_session(
96
+
97
+ sessionmaker(autocommit=False, autoflush=False, bind=ENGINE)
98
+
59
- )
99
+ )
60
-
61
- ENGINE = create_engine(DATABASE_URL, encoding="utf-8", echo=True)
62
-
63
-
64
-
65
- # Sessionの作成
66
-
67
- session = scoped_session(sessionmaker(autocommit=False, autoflush=False, bind=ENGINE))
68
100
 
69
101
  ```
70
102
 
@@ -170,6 +202,88 @@
170
202
 
171
203
  Traceback (most recent call last):
172
204
 
205
+ File "/home/kson/.local/lib/python3.8/site-packages/sqlalchemy/engine/base.py", line 3141, in _wrap_pool_connect
206
+
207
+ return fn()
208
+
209
+ File "/home/kson/.local/lib/python3.8/site-packages/sqlalchemy/pool/base.py", line 301, in connect
210
+
211
+ return _ConnectionFairy._checkout(self)
212
+
213
+ File "/home/kson/.local/lib/python3.8/site-packages/sqlalchemy/pool/base.py", line 755, in _checkout
214
+
215
+ fairy = _ConnectionRecord.checkout(pool)
216
+
217
+ File "/home/kson/.local/lib/python3.8/site-packages/sqlalchemy/pool/base.py", line 419, in checkout
218
+
219
+ rec = pool._do_get()
220
+
221
+ File "/home/kson/.local/lib/python3.8/site-packages/sqlalchemy/pool/impl.py", line 145, in _do_get
222
+
223
+ self._dec_overflow()
224
+
225
+ File "/home/kson/.local/lib/python3.8/site-packages/sqlalchemy/util/langhelpers.py", line 70, in __exit__
226
+
227
+ compat.raise_(
228
+
229
+ File "/home/kson/.local/lib/python3.8/site-packages/sqlalchemy/util/compat.py", line 211, in raise_
230
+
231
+ raise exception
232
+
233
+ File "/home/kson/.local/lib/python3.8/site-packages/sqlalchemy/pool/impl.py", line 142, in _do_get
234
+
235
+ return self._create_connection()
236
+
237
+ File "/home/kson/.local/lib/python3.8/site-packages/sqlalchemy/pool/base.py", line 247, in _create_connection
238
+
239
+ return _ConnectionRecord(self)
240
+
241
+ File "/home/kson/.local/lib/python3.8/site-packages/sqlalchemy/pool/base.py", line 362, in __init__
242
+
243
+ self.__connect(first_connect_check=True)
244
+
245
+ File "/home/kson/.local/lib/python3.8/site-packages/sqlalchemy/pool/base.py", line 605, in __connect
246
+
247
+ pool.logger.debug("Error on connect(): %s", e)
248
+
249
+ File "/home/kson/.local/lib/python3.8/site-packages/sqlalchemy/util/langhelpers.py", line 70, in __exit__
250
+
251
+ compat.raise_(
252
+
253
+ File "/home/kson/.local/lib/python3.8/site-packages/sqlalchemy/util/compat.py", line 211, in raise_
254
+
255
+ raise exception
256
+
257
+ File "/home/kson/.local/lib/python3.8/site-packages/sqlalchemy/pool/base.py", line 599, in __connect
258
+
259
+ connection = pool._invoke_creator(self)
260
+
261
+ File "/home/kson/.local/lib/python3.8/site-packages/sqlalchemy/engine/create.py", line 578, in connect
262
+
263
+ return dialect.connect(*cargs, **cparams)
264
+
265
+ File "/home/kson/.local/lib/python3.8/site-packages/sqlalchemy/engine/default.py", line 559, in connect
266
+
267
+ return self.dbapi.connect(*cargs, **cparams)
268
+
269
+ File "/home/kson/.local/lib/python3.8/site-packages/MySQLdb/__init__.py", line 130, in Connect
270
+
271
+ return Connection(*args, **kwargs)
272
+
273
+ File "/home/kson/.local/lib/python3.8/site-packages/MySQLdb/connections.py", line 185, in __init__
274
+
275
+ super().__init__(*args, **kwargs2)
276
+
277
+ MySQLdb._exceptions.OperationalError: (2002, "Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)")
278
+
279
+
280
+
281
+ The above exception was the direct cause of the following exception:
282
+
283
+
284
+
285
+ Traceback (most recent call last):
286
+
173
287
  File "main.py", line 11, in <module>
174
288
 
175
289
  Base.metadata.create_all(bind=ENGINE)
@@ -282,7 +396,7 @@
282
396
 
283
397
  super().__init__(*args, **kwargs2)
284
398
 
285
- sqlalchemy.exc.OperationalError: (MySQLdb._exceptions.OperationalError) (2013, "Lost connection to MySQL server at 'reading initial communication packet', system error: 0")
399
+ sqlalchemy.exc.OperationalError: (MySQLdb._exceptions.OperationalError) (2002, "Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)")
286
400
 
287
401
  (Background on this error at: http://sqlalche.me/e/14/e3q8)
288
402
 
@@ -300,38 +414,10 @@
300
414
 
301
415
  ```
302
416
 
303
- (2013, "Lost connection to MySQL server at 'reading initial communication packet', system error: 0")
417
+ (2002, "Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)")
304
-
418
+
305
- ```
419
+ ```
420
+
306
-
421
+ が悪さしていると思われます。`var/run/mysqld/mysqld.sock` を確認したらファイルが存在しなかったため新たに作成してもう一回実行してみましたが、うまく行きませんでした。
422
+
307
- のエラー書いてあようにデータベースの接続まくいってないみいです。
423
+ か考えられ原因わかる方がいればご教授お願いしす。よろしお願いいたします。
308
-
309
- なので同様のエラーに出会った人の記事などを参考にし、`/etc/mysql/my.cnf` を`[mysqld]` の内容をコメントアウトしたり、 `/etc/hosts.allow` を `mysqld: ALL: allow` に設定するなどしましたが、いまだにこのエラーが発生しています。
310
-
311
- 何か考えられる原因はありますでしょうか。
312
-
313
- よろしくお願いします。
314
-
315
-
316
-
317
- ### 追記
318
-
319
- 以下のホストとポートに設置してあるubuntuサーバにて
320
-
321
- ![接続先情報](2a28c769e42ea75fd5c4d92075885212.png)
322
-
323
- mysql-serverをインストールし、そこのmysqlデータベースに接続しようとしています。
324
-
325
-
326
-
327
- ### 追記2
328
-
329
- `sudo ufw status` にて確認したファイアーウォールの設定です。
330
-
331
- ![イメージ説明](ecf78b7c67744eff7736ca40c691870d.png)
332
-
333
-
334
-
335
- `netstat -tlpn` の実行結果です
336
-
337
- ![イメージ説明](8acfe7c6e1604bcf7dc9e7fbf4db44d0.png)

3

質問に対する追記事項

2021/05/20 09:31

投稿

bz5adgjmptw0
bz5adgjmptw0

スコア18

test CHANGED
File without changes
test CHANGED
@@ -321,3 +321,17 @@
321
321
  ![接続先情報](2a28c769e42ea75fd5c4d92075885212.png)
322
322
 
323
323
  mysql-serverをインストールし、そこのmysqlデータベースに接続しようとしています。
324
+
325
+
326
+
327
+ ### 追記2
328
+
329
+ `sudo ufw status` にて確認したファイアーウォールの設定です。
330
+
331
+ ![イメージ説明](ecf78b7c67744eff7736ca40c691870d.png)
332
+
333
+
334
+
335
+ `netstat -tlpn` の実行結果です
336
+
337
+ ![イメージ説明](8acfe7c6e1604bcf7dc9e7fbf4db44d0.png)

2

追記を修正

2021/05/19 05:52

投稿

bz5adgjmptw0
bz5adgjmptw0

スコア18

test CHANGED
File without changes
test CHANGED
@@ -316,8 +316,8 @@
316
316
 
317
317
  ### 追記
318
318
 
319
- 以下のホストとポートにて
319
+ 以下のホストとポートに設置しあるubuntuサーバにて
320
320
 
321
321
  ![接続先情報](2a28c769e42ea75fd5c4d92075885212.png)
322
322
 
323
- ubuntu18環境にてmysql-serverをインストールし、そこmysqlデータベースを使用しています。
323
+ mysql-serverをインストールし、そこmysqlデータベースに接続ようとしています。

1

データベースについての情報を追記

2021/05/18 17:30

投稿

bz5adgjmptw0
bz5adgjmptw0

スコア18

test CHANGED
File without changes
test CHANGED
@@ -311,3 +311,13 @@
311
311
  何か考えられる原因はありますでしょうか。
312
312
 
313
313
  よろしくお願いします。
314
+
315
+
316
+
317
+ ### 追記
318
+
319
+ 以下のホストとポートにて
320
+
321
+ ![接続先情報](2a28c769e42ea75fd5c4d92075885212.png)
322
+
323
+ ubuntu18環境にてmysql-serverをインストールし、そこでmysqlデータベースを使用しています。