LoginSignup
0
0

同じLANに接続しているPCでローカルのMySQLにリモート接続する方法

Last updated at Posted at 2023-10-18

きっかけ

社内でMySQLを使用したアプリを提出した際に、他のPCでexeファイルを起動すると、
MySQLに接続できないという旨のエラーが出たため。

やり方

環境:Windows11、MySQL8.0.34

1.Windowsの場合、MySQLのmy.iniで以下を設定する

ファイルパス:C:\ProgramData\MySQL\MySQL Server 8.0\my.ini

my.ini
#
# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
# bind-address            = 127.0.0.1
bind-address            = 0.0.0.0

※bind-addressがない場合は、一番下に追加する。

2.Mysqlのサービスを再起動する

・windowsでサービスを起動し、MySQL80を再起動する。
image.png

3.リモート接続するMySQLのユーザーを作成する

MySQLにログインしてから以下のコマンドを実行する。

CREATE USER 'ユーザー名'@'%' IDENTIFIED WITH caching_sha2_password BY 'パスワード';

・ユーザー名、パスワードは任意の文字列を入力する。
・パスワードは大文字小文字の英字、数字、記号をすべて1つ以上使用したパスワードを入力する。
 簡単なパスワードにすると後でエラーが出るため。
image.png


4.権限を付与する

GRANT ALL PRIVILEGES ON データベース名.* TO 'ユーザー名'@'%';

・データベース名は使用するデータベース名にする
・ユーザー名は3で登録したユーザー名にする。
image.png

5.MySQLサーバーに変更を反映させる

FLUSH PRIVILEGES;

image.png

6.登録したユーザーでログインできるか確認する

mysql -u ユーザー名 -p

ユーザー名は登録したユーザー名にする。
ログインできると以下のように表示される。
image.png

7.アプリ側でMySQLの接続情報を変更する

※VB.NETの場合

○○.vb
Dim builder = New MySqlConnectionStringBuilder()
builder.Server = "接続先のIPアドレス"
builder.Port = 3306
builder.UserID = "MySQLに登録したユーザー名"
builder.Password = "MySQLに登録したパスワード"
builder.Database = "グラントしたDB名"
Dim conStr = builder.ToString()

接続先PCのIPアドレスの確認方法は以下の通り。
コマンドプロンプトで以下のコマンドを実行する。

ipconfig

Wi-Fiに接続している場合、Wireless LAN adapter Wi-Fi: IPv4アドレス
がIPアドレスになる。
image.png

8.他のPCでMySQLサーバーに接続できるか確認する

同じLANに接続している他のPCでもexeファイルを動作させることができた。

参考サイト

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0