如何让MySQL中的数据库进入计算机上的另一个驱动器?

时间:2016-03-28 02:50:01

标签: mysql

假设我的网站从其用户那里获取了大量数据,并且它在我的计算机上传到MySQL,但我的计算机空间不足。如果我将硬盘驱动器连接到我的服务器计算机,我可以制作它,以便我可以在该硬盘驱动器上放置一个新数据库,并将所有数据存储在那里吗?它显然会随时附上。

2 个答案:

答案 0 :(得分:0)

您可以通过PhpMyAdmin导出数据库,并将保存的数据库文件传递到另一台计算机上。

导出数据库: https://serverpilot.io/community/articles/how-to-export-a-database-using-phpmyadmin.html

导入数据库: https://serverpilot.io/community/articles/how-to-import-a-database-using-phpmyadmin.html

答案 1 :(得分:0)

这可能属于https://dba.stackexchange.com/,而且确实有一些关于你可以使用的技术的深入讨论。

我在使用大型临时数据集时发现有用的一件事是启用innodb_file_per_table - 在我的情况下 - 在删除这些临时数据库时帮助回收磁盘空间。

移动整个datadir

您可以移动MySQL用来存储文件的整个目录;这被称为datadir。停止MySQL守护程序,移动文件夹,编辑my.cnf以将datadir =引用到新文件夹位置,然后启动守护程序。

datadir

之外的每表文件表空间

https://dev.mysql.com/doc/refman/5.6/en/tablespace-placing.html 您可以使用配置文件的innodb_file_per_table部分中的每表文件表空间配置([mysqld])和CREATE TABLE来实际将表空间放在数据库之外。启用innodb_file_per_table后,可以使用CREATE TABLE t1 (c1 INT PRIMARY KEY) DATA DIRECTORY = '/alternative/directory';之类的语句将该表空间的datadir放在不同的目录中。

分区

使用分区,您可以将数据库,表和列拆分为不同的存储分区。在这种情况下,这可能不是您正在寻找的,因为它们仍然驻留在datadir中。 https://dev.mysql.com/doc/refman/5.7/en/partitioning.html