回答編集履歴

2

確認結果の追記

2018/08/10 15:02

投稿

rubytomato
rubytomato

スコア1752

test CHANGED
@@ -76,6 +76,8 @@
76
76
 
77
77
 
78
78
 
79
+
80
+
79
81
  ### 確認点 (2018/08/08追加)
80
82
 
81
83
 
@@ -84,6 +86,14 @@
84
86
 
85
87
 
86
88
 
89
+ **結果追記 (2018/08/10)**
90
+
91
+
92
+
93
+ 確認点をコメントして頂いたので、見やすいようにそれぞれの項目に結果を追記しました。
94
+
95
+
96
+
87
97
  #### bind_addressとportの確認
88
98
 
89
99
 
@@ -94,6 +104,10 @@
94
104
 
95
105
 
96
106
 
107
+ bind_address
108
+
109
+
110
+
97
111
  ```
98
112
 
99
113
  > show variables like '%bind%';
@@ -102,6 +116,26 @@
102
116
 
103
117
 
104
118
 
119
+ **結果追記**
120
+
121
+
122
+
123
+ ```
124
+
125
+ bind_address *
126
+
127
+
128
+
129
+ 1 row in set, 1 warning (0.27 sec)
130
+
131
+ ```
132
+
133
+
134
+
135
+ port
136
+
137
+
138
+
105
139
  ```
106
140
 
107
141
  > show variables like '%port%';
@@ -110,6 +144,36 @@
110
144
 
111
145
 
112
146
 
147
+ **結果追記**
148
+
149
+
150
+
151
+ ```
152
+
153
+ innodb_support ON
154
+
155
+ large_files_support ON
156
+
157
+ port 3306
158
+
159
+ report_host
160
+
161
+ report_password
162
+
163
+ report_port 3306
164
+
165
+ report_user
166
+
167
+ require_secure_transport OFF
168
+
169
+
170
+
171
+ 8 rows in set, 1 warning(0.00 sec)
172
+
173
+ ```
174
+
175
+
176
+
113
177
  #### netstatでportの確認
114
178
 
115
179
 
@@ -158,6 +222,26 @@
158
222
 
159
223
 
160
224
 
225
+ **結果追記**
226
+
227
+
228
+
229
+ > はじめは下記の例と同じ内容が行がありました(PIDのみ違う数字)
230
+
231
+ > A5:SQL Mk-2に接続後も変わらず同じ数字で存在しましたが、新しく下記の行が増えました。(pidとオフロード状態は同じ数字でした。)
232
+
233
+
234
+
235
+ ```
236
+
237
+ ローカルアドレス      外部アドレス                 状態      
238
+
239
+ 接続先ホストのID:3306  接続先ホストのIDの下二桁のみ違う数字:50525 ESTABLISHED
240
+
241
+ ```
242
+
243
+
244
+
161
245
  #### DBユーザーのアクセス権限
162
246
 
163
247
 
@@ -212,6 +296,22 @@
212
296
 
213
297
 
214
298
 
299
+ **結果追記**
300
+
301
+
302
+
303
+ ```
304
+
305
+ myspl %
306
+
307
+
308
+
309
+ 1 rdw in set(0.05 sec)
310
+
311
+ ```
312
+
313
+
314
+
215
315
  また、以下のshow grantsで接続したいユーザーが接続したいデータベースに権限が付与されているか確認したいです。
216
316
 
217
317
  このsql文の'test_user'@'10.0.75.%'の部分は実際に接続したいユーザーに読み替えてください。
@@ -248,6 +348,22 @@
248
348
 
249
349
 
250
350
 
351
+ **結果追記**
352
+
353
+
354
+
355
+ ```
356
+
357
+ Grants for mysql`%
358
+
359
+
360
+
361
+ GRANT ALL PRIVILEGES ON *.* TO "mysql"@"%" WITH GRANT OPTION
362
+
363
+ ```
364
+
365
+
366
+
251
367
  #### MySQL serverが実行されているPCからの接続
252
368
 
253
369
 
@@ -286,6 +402,16 @@
286
402
 
287
403
 
288
404
 
405
+ **結果追記**
406
+
407
+
408
+
409
+ > ローカルPCからの接続エラーは下記のように出ました。
410
+
411
+ > ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'mysql.exe --host=接続先ホストID --port=3306 --user=mysql --password=パスワード -' at line 1
412
+
413
+
414
+
289
415
  また、データベース名の指定ですが、A5:SQL Mk-2の接続設定のデータベースの欄の名前です。この場合はデータベース名とスキーマ名は同じと考えてよいと思います。
290
416
 
291
417
 
@@ -316,6 +442,18 @@
316
442
 
317
443
 
318
444
 
445
+ **結果追記**
446
+
447
+
448
+
449
+ > A5:SQL Mk-2からは接続設定と
450
+
451
+ > mysql.exe --host=10.75.0.200 --port=3306 --user=test_user --password=test_pass --database=test
452
+
453
+ > を見比べましたが、違いはありませんでした。
454
+
455
+
456
+
319
457
  #### ローカルPCにMySQL serverはインストールされていますか
320
458
 
321
459
 
@@ -326,4 +464,12 @@
326
464
 
327
465
 
328
466
 
467
+ **結果追記**
468
+
469
+
470
+
471
+ > ローカルPCのmysqlにはtestというデータベースは作成していませんのでA5:SQL Mk-2がそこへ接続しているということはないと思います。
472
+
473
+
474
+
329
475
  以上、すこし項目が多いですがご確認ください。

1

確認事項の追加

2018/08/10 15:02

投稿

rubytomato
rubytomato

スコア1752

test CHANGED
@@ -73,3 +73,257 @@
73
73
  "別のPC"というのは、チームで開発する際に複数のメンバーで接続する用途のいわゆるサーバータイプのPCでしょうか?
74
74
 
75
75
  ちょっと気になっただけなので、差支えがあればお答え頂かなくても結構です。
76
+
77
+
78
+
79
+ ### 確認点 (2018/08/08追加)
80
+
81
+
82
+
83
+ コメントありがとうございます。ローカルからmysql.exeでは接続できないけど、A5:SQL Mk-2からは接続できるということなので、もう少し状況確認をさせてください。
84
+
85
+
86
+
87
+ #### bind_addressとportの確認
88
+
89
+
90
+
91
+ MySQL serverが実行されているPC上で、mysql.exeを使ってrootユーザーでログインして次のsqlを実行してください。
92
+
93
+ このsqlの結果を確認したいと思います。
94
+
95
+
96
+
97
+ ```
98
+
99
+ > show variables like '%bind%';
100
+
101
+ ```
102
+
103
+
104
+
105
+ ```
106
+
107
+ > show variables like '%port%';
108
+
109
+ ```
110
+
111
+
112
+
113
+ #### netstatでportの確認
114
+
115
+
116
+
117
+ MySQL serverが実行されているPC上で、Windowsのnetstatコマンドの結果を確認したいです。
118
+
119
+ 出力結果が長いかもしれませんが"ローカル アドレス"の欄にx.x.x.x:3306のような結果があるか確認してください。この場合の3306は上記で確認したportに読み替えてください。(上記のportの確認結果がたとえば13306だったら、x.x.x.x:13306を確認する、という意味です。)
120
+
121
+
122
+
123
+ コマンドプロントを立ち上げ次のコマンドを実行してください。
124
+
125
+
126
+
127
+ ```
128
+
129
+ > netstat -anoptf TCP
130
+
131
+ ```
132
+
133
+
134
+
135
+ 下記の例のような行があるかを確認したいです。
136
+
137
+
138
+
139
+ ```
140
+
141
+ アクティブな接続
142
+
143
+
144
+
145
+ プロトコル ローカル アドレス 外部アドレス 状態 PID オフロード状態
146
+
147
+
148
+
149
+ TCP 0.0.0.0:3306 0.0.0.0:0 LISTENING 18596 ホスト内
150
+
151
+ ```
152
+
153
+
154
+
155
+ ローカルアドレスに上記の例のような行がある場合、さらにtohokukagakuさんのPCからA5:SQL Mk-2で接続して、再度結果を確認してください。
156
+
157
+ このときの外部アドレスがどのように変わったか確認したいです。
158
+
159
+
160
+
161
+ #### DBユーザーのアクセス権限
162
+
163
+
164
+
165
+ MySQL serverが実行されているPC上で、mysql.exeを使ってrootユーザーでログインして次のsqlを実行してください。
166
+
167
+ このsqlの結果を確認したいと思います。
168
+
169
+ 仮に、接続したいユーザー名が'test_user'だとしたら、以下のようなsqlになると思います。
170
+
171
+ 'test_user'の部分は、実際に接続したいユーザーの名前に読み替えてください。(eclipseのプログラムやA5:SQL Mk-2から接続するときのユーザー名です。)
172
+
173
+
174
+
175
+ ```
176
+
177
+ > select user,host from mysql.user where user = 'test_user';
178
+
179
+ ```
180
+
181
+
182
+
183
+ 下記は一例ですが、hostに
184
+
185
+
186
+
187
+ * 'localhost'があるか
188
+
189
+ * tohokukagakuさんのPCのIPアドレスがあるか(たとえば、tohokukagakuさんのPCのIPが10.0.75.1だとしたら、下記のように10.0.75.%かもしくは10.0.75.1があるか)
190
+
191
+
192
+
193
+ の点を確認したいと思います。
194
+
195
+
196
+
197
+ ```
198
+
199
+ +---------------+-------------+
200
+
201
+ | user | host |
202
+
203
+ +---------------+-------------+
204
+
205
+ | test_user | 10.0.75.% |
206
+
207
+ | test_user | localhost |
208
+
209
+ +---------------+-------------+
210
+
211
+ ```
212
+
213
+
214
+
215
+ また、以下のshow grantsで接続したいユーザーが接続したいデータベースに権限が付与されているか確認したいです。
216
+
217
+ このsql文の'test_user'@'10.0.75.%'の部分は実際に接続したいユーザーに読み替えてください。
218
+
219
+
220
+
221
+ ```
222
+
223
+ > show grants for 'test_user'@'10.0.75.%';
224
+
225
+ ```
226
+
227
+
228
+
229
+ 下記は一例ですが、GRANT ALL PRIVILEGES ON `test`.* TO 'test_user'@'10.0.75.%' のような行があるか確認したいです。
230
+
231
+
232
+
233
+ ```
234
+
235
+ +-----------------------------------------------------------------------+
236
+
237
+ | Grants for test_user@10.0.75.% |
238
+
239
+ +-----------------------------------------------------------------------+
240
+
241
+ | GRANT USAGE ON *.* TO 'test_user'@'10.0.75.%' |
242
+
243
+ | GRANT ALL PRIVILEGES ON `test`.* TO 'test_user'@'10.0.75.%' |
244
+
245
+ +-----------------------------------------------------------------------+
246
+
247
+ ```
248
+
249
+
250
+
251
+ #### MySQL serverが実行されているPCからの接続
252
+
253
+
254
+
255
+ 上記のアクセス権限の確認結果にlocalhostが含まれている場合に、この確認を行って頂きたいです。
256
+
257
+
258
+
259
+ tohokukagakuさんのPCからmysql.exeでは接続できなかったということですが、MySQL serverが実行されているPCからの接続はどうでしょうか?
260
+
261
+ MySQL serverが稼働しているPCから、mysql.exeを使って接続したいユーザーでログインできるか確認してください。
262
+
263
+ test_userとtest_passの部分は実際に接続したいユーザー名とパスワードに読み替えてください。
264
+
265
+
266
+
267
+ ```
268
+
269
+ > mysql.exe --host=localhost --port=3306 --user=test_user --password=test_pass --database=test
270
+
271
+ ```
272
+
273
+
274
+
275
+ #### ローカルPCから接続できなかったときのエラーメッセージ
276
+
277
+
278
+
279
+ 頂いたコメントで、ローカルPCからは接続できなかったということですが、このときのエラーメッセージはどのようなものでしょうか?
280
+
281
+
282
+
283
+ > > mysql.exe --host=接続先ホスト名 --port=3306 --user=ユーザー --password=パスワード --database=データベース名
284
+
285
+ > 試してみましたが接続することができませんでした。
286
+
287
+
288
+
289
+ また、データベース名の指定ですが、A5:SQL Mk-2の接続設定のデータベースの欄の名前です。この場合はデータベース名とスキーマ名は同じと考えてよいと思います。
290
+
291
+
292
+
293
+ > 自分は接続先データベース名は A5:SQL Mk-2 のスキーマと同じだと思い、"test" にしているのですがもしかして間違いでしたか?
294
+
295
+
296
+
297
+ A5:SQL Mk-2からは接続できるということですが、たとえば、A5:SQL Mk-2の接続設定が下図のようなものだとして、
298
+
299
+
300
+
301
+ ![イメージ説明](be7e5fb0f3b19edb42b42e11583fa83f.png)
302
+
303
+
304
+
305
+ 下記のように同じ設定でもmysql.exeからは接続できないということでしょうか?
306
+
307
+ 設定は、tohokukagakuさんのPCのA5:SQL Mk-2の接続設定に読み替えてください。
308
+
309
+
310
+
311
+ ```
312
+
313
+ > mysql.exe --host=10.75.0.200 --port=3306 --user=test_user --password=test_pass --database=test
314
+
315
+ ```
316
+
317
+
318
+
319
+ #### ローカルPCにMySQL serverはインストールされていますか
320
+
321
+
322
+
323
+ mysql.exeで接続確認をされたということですが、ローカルPCにMySQL serverがインストールされているということでしょうか?
324
+
325
+ もしそうであれば、ローカルPCのMySQL serverが稼働していてA5:SQL Mk-2がそこへ接続しているということはないでしょうか?
326
+
327
+
328
+
329
+ 以上、すこし項目が多いですがご確認ください。