「Visual Basic」 MySQLクライアント接続 3つのポイント

*本サイトはアフィリエイト広告を利用しています。

Visual BasicでMySQLサーバーへ、クライアントPCから接続するときのポイントです。

頭で考えたみたいに簡単ではありませんでした。

どなたかの役にたちますように、備忘録を書き留めておきます。

よろしければ参考にしてください。

まずは結論です、ポイントは以下の3点です。

  1. Visual Basic 接続文字列のIPアドレス
  2. MySQLユーザー権限の設定
  3. ポートの開放

※「Visual Studio 2022」と「MariaDB」です。

スポンサーリンク
スポンサーリンク

Visual Basic 接続文字列のIPアドレス

このような間違いは僕だけかも知れませんが、Visual Basicでの接続文字列は「127.0.0.1」でなく、サーバー機のIPアドレス「192.168.11.5」を指定します。

XAMPPでMySQL(MariaDB)をインストールすると管理ツール(phpMyAdmin)が使えます。そこにデータベースサーバーのIPアドレスとして「127.0.0.1」と表示されています。

ですが、そのアドレス「127.0.0.1」ではクライアントからは接続できませんでした、サーバー機のIPアドレス(例えば、「192.168.11.5」)で接続できました。

IPアドレスがわからないときは、コマンドプロンプトから「ipconfig」で調べることができます。

スポンサーリンク

MySQLユーザー権限の設定

MySQLデータベースは、ユーザー設定で接続元を制限しています。

最初から登録されているユーザー「root」の初期値は、「LocalHost」しかアクセスできない設定です。

クライアントからMySQLデータベースにアクセするには、「root」の権限を変更するか、権限を持つユーザーを作る必要があります。

ここでは「root」の権限を変更する方法を解説します。

phpMyAdminがインストールされている場合

phpMyAdminでは「ユーザーアカウント」>使用するユーザー>「ログイン情報」>「ホスト名」を確認します。

この項目がアクセスを許可する範囲になるので、「すべてのホスト」に変更してください。

コマンドプロンプトで変更する場合

コマンドプロンプトからは以下の手順になります。

Mysqlにログインする。

mysql -h ホスト名 -u ユーザー名 -p パスワード

ユーザー一覧と権限を表示する。

select user, host from mysql.user;

Host欄がアクセスできる権限です。

「%」は全てのクライアントから接続可、「localhost」は他のクライアントから接続不可です。

ユーザー「root」は「localhost」になっているので「%」に変更します。

grant all privileges on . to root@”%”;

確認します。

select user, host from mysql.user;

できました。

ポートの開放

3306ポートを開放します。

Windowsのファイアウォールを解除するという手段もありますが、セキュリティーを弱くする事になります。

難しくないのでポートを開放しましょう。

「コントロールパネル」>「WindowsDefenderファイアウォール」>「詳細設定」

「受信の規制」>「新しい規制」

「ポート」>「次へ」

「特定のポート」に「3306」と入力して「次へ」

「接続を許可する」のまま「次へ」

「次へ」

任意の「名前」を入力して「完了」します。

まとめ

以上がVisual Basicでクライアントから、MySQLにアクセスするポイントです。

MySQLデータベース接続でお悩みであれば、一度試してください。

コメント

タイトルとURLをコピーしました