因为MySQL数据库本身没有磁盘限额的功能,我们可以限制Linux自带的quota工具为mysql进行磁盘限额。
1、首先需要为/home自动挂载一个分区,并且设置为quota磁盘格式。我们以用户foo为例,设置foo的磁盘限额。具体如何设置请参考Linux Quota基础教程。
2、在foo主目录创建一个存放数据库的dbs目录,并设置此目录的所有权为mysql:foo,权限为3755。
- mkdir /home/foo/dbs
- chown mysql:foo /home/foo/dbs
- chmod 3755 /home/foo/dbs
3、现在把 /var/lib/mysql的所有foo的数据库文件移到/home/foo/dbs目录。
- mkdir /root/backup
- cp -avr /var/lib/mysql/* root/backup
- mv /var/lib/mysql/database-name /home/foo/dbs/
- chown -Rf mysql:foo /home/foo
- chmod -Rf 3755 /home/foo
- ln -s /var/lib/mysql/database-name /home/foo/dbs/database-name -v
之后重启mysql数据库服务器:
- /etc/init.d/mysqld restart