假设我的网站从其用户那里获取了大量数据,并且它在我的计算机上传到MySQL,但我的计算机空间不足。如果我将硬盘驱动器连接到我的服务器计算机,我可以制作它,以便我可以在该硬盘驱动器上放置一个新数据库,并将所有数据存储在那里吗?它显然会随时附上。
答案 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
- 在我的情况下 - 在删除这些临时数据库时帮助回收磁盘空间。
您可以移动MySQL用来存储文件的整个目录;这被称为datadir。停止MySQL守护程序,移动文件夹,编辑my.cnf
以将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