MariaDB5.5 系から MariaDB10系にデーターベースをインポートすると一部のユーザーログインできない

MariaDB5.5 系のデータベースをエクスポートしてから MariaDB10系にデーターベースをインポートを実施しました。エクスポート・インポートともエラーなく作業できましたが、rootを除く一部のユーザーでログインするとパスワードエラーとなりログインできませんでした。

インポート先のデータベースのログインして、userテーブルを確認するとログインできないユーザーは存在します。
原因がよくわからないので、ChatGPTに問い合わせすると確認すると以下のエラーでした

パスワードのハッシュアルゴリズムの変更:
MariaDBのバージョンが上がると、パスワードのハッシュアルゴリズムが変更されることがあります。新しいバージョンではセキュリティの向上のためにより強力なハッシュアルゴリズムが使用されることがあります。そのため、旧バージョンのユーザーのパスワードが新しいバージョンで正しくハッシュされていない可能性があります。

解決策: ユーザーのパスワードを再設定するか、新しいハッシュアルゴリズムを使うようにMariaDB 10に設定し直す必要があります。以下のSQL文を使用してパスワードを変更できます。

ログインできないユーザーは下記のSQL文でパスワードを変更してみますが、エラーとなりパスワード変更できませんでした

MariaDB [(none)]> SET PASSWORD FOR 'ユーザー名'@'ホスト名' = PASSWORD('新しいパスワード');

仕方ないのでユーザーを削除して再度ユーザーを作成したら、無事にログインできました

MariaDB [(none)]> drop user 'dbadmin'@'%' ;
MariaDB [(none)]> GRANT ALL PRIVILEGES ON `test_db`.* TO 'dbadmin'@'%' IDENTIFIED BY 'PASSWORD';
MariaDB [(none)]> GRANT SELECT, INSERT, UPDATE, DELETE ON `test_db`.* TO 'dbadmin'@'localhost' IDENTIFIED BY 'PASSWORD';

 

スポンサーリンク

0
0