盛网科技 发表于 2019-10-12 14:21:07

传奇SF磁盘满了怎么启动数据库

  传奇SF磁盘满了怎么启动数据库

  在MySQL数据库中,如果不指定innodb_file_per_table=1参数单独保存每个表的数据,MySQL的数据都会存放在ibdata1文件里,时间久了这个文件就会变的非常大。

  下面是参考网上的一些资料,把数据分别保存在各数据库子目录里的方法,这样新产生的ibdata1文件就不会太大了。下面是在Ubuntu 14.04.12 x64,MySQL5.5上对ibdata1进行瘦身,操作过程的整理。

  1、备份数据库中的数据。

  mysqldump -u root -p --extended-insert --all-databases --add-drop-database --disable-keys --flush-privileges --quick --routines --triggers > /home/all-database.sql

  //有的文档用的是这样的参数:mysqldump -q -uroot -p --add-drop-table --all-databases --events >/home/all-database.sql

  如果ibdata1上百GB,备份过程可能需要几小时。

  2、停止MySQL服务。

  service mysqld stop

  3、删除ibdata1、ib_logfile*等文件

  mv ibdata1 ibdata1.20160419

  mv ib_logfile0 ib_logfile0.20160420

  mv ib_logfile1 ib_logfile1.20160420

  4、修改my.cnf配置文件

  vi /etc/mysql/my.cnf

  在子项下增加如下配置:

  innodb_file_per_table = 1

  5、删除MySQL、performance_schema之外的所有数据库

  cd /var/lib/mysql

  rm -rf zabbix

  服务器上只有Zabbix数据库。

  6、重启MySQL服务

  service mysqld start

  ps -ef|grep mysql

  7、恢复数据(重新导入数据)

  mysql -u root -p

  Enter password:

  >source /home/all-databaes.sql

  >exit

  //有的文档用这样的命令格式:mysql -uroot -p < /home/all-database.sql

  Enter password:

  其中的/home/all-database.sql即为第一步备份生成的文件,如果原来数据库中数据较多,还原过程可能会持续较长时间,请耐心等待还原完成。如果超过30个小时还没完成,可能要考虑中止恢复数据操作,先清除一部分table中的数据,从步骤1重新开始。如果table中记录特多又可以全部删除,用truncate 速度比较快。

  服务器租用、托管,只有您想不到的,没有我们做不到的,只要您选择了我们三三在线http://www.33ol.com/,我们就会竭诚为您服务!!!。企点Q:2852361322电话:13924367540
页: [1]
查看完整版本: 传奇SF磁盘满了怎么启动数据库