LoginSignup
0
0

More than 1 year has passed since last update.

phpMyAdmin でルーチンが編集できない

Posted at

phpMyAdmin で使うデータベースユーザは権限を適切に調整した管理ユーザであるべきですが、その管理ユーザでストアドプロシージャやストアドファンクションの編集ができないことがあります。

image.png

環境

  • phpMyAdmin 4.9.5deb2
  • MariaDB 10.3.34-MariaDB-0ubuntu0.20.04.1 - Ubuntu 20.04
  • phpMyAdmin - MariaDB接続: Localhost via UNIX socket
  • Apache/2.4.41 (Ubuntu)

症状例

「テストデータベース」中で「tomorrow」と「明日」のストアドプロシージャがあります。

image.png

  • tomorrow
    • phpMyAdmin で作成
  • 明日
    • root アカウントで MySQL クライアントで作成

中身は同じですが、「tomorrow」では編集実行ができますが「明日」は編集実行ができません。
image.png

内部を表示しようとしても、以下のエラーが表示されます。

要求処理中でのエラー: データベース「テストデータベース」で「明日」のルーチンはありません。このルーチンを編集する為に必要な権限がない可能性があります。

解決

root アカウントでログオンします。

なお、MySQL クライアントにおいて sudo しないとログオンできない設定にしていた場合は、以下の
「sudo 無しで root ユーザでアクセスできるようにする」
https://qiita.com/nanbuwks/items/c98c51744bd0f72a7087#sudo-%E7%84%A1%E3%81%97%E3%81%A7-root-%E3%83%A6%E3%83%BC%E3%82%B6%E3%81%A7%E3%82%A2%E3%82%AF%E3%82%BB%E3%82%B9%E3%81%A7%E3%81%8D%E3%82%8B%E3%82%88%E3%81%86%E3%81%AB%E3%81%99%E3%82%8B
の項目に沿って設定を変更します。

root アカウントだと 編集や実行ができるようになっています。
image.png

「編集」で「定義者」を変更します。

image.png

root@localhost から、 phpMyAdmin で利用するユーザに変更します。

image.png

root でログアウトし、ログインすると使えるようになります。
image.png

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