无名阁

美好的生活需要用心记录

解决ibdata1数据库过大的问题

2016-4-23 笑看风云 linux知识

我在vps上面架设了一个rss服务,结果随着时间的变化ibdata1文件越来越大,为了防止空间占用过大于是找到了一些解决方法。

首先我们先备份mysql数据库文件:

mysqldump -uroot -p --add-drop-table --all-databases > all.sql

输入你的密码之后就把所有的数据库备份到了all.sql文件中了,接着我们停止mysql服务:
sudo service mysql stop

现在我们删除mysql的数据库:
sudo rm -rf /var/lib/mysql/*

现在mysql的数据库已经被我们删除了,我们接着修改mysql的配置文件/etc/mysql/my.cnf:
sudo vi /etc/mysql/my.cnf

在[mysqld]下面插入以下内容:
innodb_file_per_table = 1

保存完毕之后我们重新创建mysql数据库:
sudo mysql_install_db

这样新的数据库就已经建立完毕,我盟剩下要做的就是导入之前备份的数据库了:
#首先要启动mysql服务
sudo service mysql start
#然后重置mysql的root密码
sudo mysqladmin -u root password
#最后导入数据库备份
mysql -uroot -p < all.sql

这些操作完成之后mysql数据库已经回复完毕了,不过mysql数据库中不同的权限已经消失了,需要大家重新建立用户以及权限,推荐大家使用phpmyadmin或者adminer来进行设置。

我发现好想再次重启就可以恢复权限(只试过一次)。

而且新版的MySQL已经默认用的就是此模式,不需要手动开启了。


标签: 网络 Linux mysql

et_highlighter51

发表评论: