0

マシンにすべてを再インストールしました。古い MySQL サーバーから個々のデータベースをすべてエクスポートし、それらを新しいサーバーに再インストールしようとしています。

ただし、すべての権限を格納する必要があると思われる「mysql」テーブルを含むすべてのテーブルをインポートした後でも、付与以外の権限を持つユーザーはいません。期待どおりにすべての権限を持つルートを除きます。

権限をフラッシュしてデータベースを再起動しましたが、権限が取得されません。サーバー全体の古いバックアップを調べたところ、古い INFORMATION_SCHEMA データベースには、現在のものよりもはるかに多くの権限がありました。ただし、これは仮想テーブルであり、MySQL データベースなどからデータを取得する必要があることはわかっています。

特権を復元するにはどうすればよいですか?

4

1 に答える 1

0

特権テーブルはmysqlデータベースにあります。特に表userdbtables_privcolumns_privおよびで、内容が同じかどうかを確認しproc_privます。サーバーも新しいバージョンにアップグレードしましたか? その場合は、知っておく必要のある特権テーブルに変更がないかどうか、 MySQL リファレンス マニュアルを確認してください。mysql_fix_privilege_tables*unix またはSOURCE scripts/mysql_fix_privilege_tables.sqlWindows でプログラムを実行します。

于 2013-04-23T00:01:48.710 に答える