2017-09-22 13 views
0

私はAmazon EC2インスタンスとMariaDBデータベースを使用しています。MariaDBユーザに特定のストレージスペースを割り当てる

私は20GBのデータベースストレージと10のユーザーアカウントを持っているとします。私は各アカウントに2GBのデータベースストレージを持たせたい。

どうすればこの問題を解決できますか?

答えて

0

ユーザーがディスク使用量を監視または報告する組み込み方法はありません。

あなた、1つのデータベースに各ユーザーを制限する場合:

GRANT ALL PRIVILEGES ON user1_db TO [email protected]'...' ...; 

と定期的にGBは、各データベースにあるどのように多くのリストを取得するには

SELECT table_schema AS db_name, 
     SUM(data_length+index_length)/1073741824 DB_Gigabyte 
    FROM information_schema.tables 
    GROUP BY table_schema; 

のようなクエリを実行します。そこから、食べ過ぎたユーザーに対処するのはあなた次第です。

注意:テンポラリテーブル、空き容量などのために、ユーザが一時的に制限を超える可能性は非常に高いです。また、小さな行を1つ挿入すると、割り当てが1メガバイト以上増加する場合があります。だから、寛大でなければ、あなたとユーザーの両方が何が起こっているのか困惑します。

innodb_file_per_table = ONを持っていると、肥大化したユーザーをより簡単に処理できるようになります。

関連する問題