🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
MySQL

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

Q&A

解決済

1回答

2226閲覧

MySQL 8.0 認証方式について

Taffy

総合スコア33

MySQL

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

0グッド

0クリップ

投稿2019/12/06 04:00

編集2019/12/06 04:01

Visual Studio 2010 Professional で開発されたアプリケーションを保守しています。
MySQL 5.6→MySQL 8.0への変更に伴い、
アプリケーションからデータベースへの接続ができなくなりました。

接続ができない原因を調べたところ、MySQLインストール時に[Use Strong Password Encryption for Authentication]を指定した場合デフォルトのログイン認証方式がcaching_sha2_passwordとなることが原因と分かりました。

そのため、以下を参考にしながら、アプリケーションからデータベースにアクセスするユーザだけ
ログイン認証方式をmysql_native_password にするようにユーザを再作成しました。

参考
https://www.s-style.co.jp/blog/2018/05/1807/

その後、my.cnfを編集してデフォルトのプラグインを変更する必要があるようですが、
デフォルトのプラグインを変更せず、特定のユーザまたはデータベースを使用するときだけ
mysql_native_password を使用する頃はできないでしょうか?

1つのサーバに導入するシステムが複数あり、他のシステムで使っているDBのログイン認証方式はcaching_sha2_passwordであるため、
mysql_native_password の影響範囲は、なるべく局所的にしたいと考えています。

補足
OSはWindows Server 2016、
MySQLは8.0.16を使用しています。

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

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

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

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

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

guest

回答1

0

ベストアンサー

回答がつかないようなので...

認証のデフォルトを変更せずに一部ユーザーの認証方式を変更したいということであれば、

create user 'dbuser1'@'localhost' identified with mysql_native_password by 'パスワード';

のように認証方式を指定してユーザーを作成する方法ではダメでしょうか?

投稿2019/12/07 04:13

CHERRY

総合スコア25218

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

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

Taffy

2019/12/15 05:12

ありがとうございます。 ログインするユーザの認証方式を"mysql_native_password"とすることができました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.36%

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

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

質問する

関連した質問