我正在使用MySQL数据库和Ubuntu Linux计算机。
我指定的数据库db_test
,我注意到,在道路/var/lib/mysql/db_test
,有文件后缀.frm
,.MYD
,.MYI
像下面:
/var/lib/mysql/db_test# ls
cars.frm
cars.MYD
cars.MYI
customers.frm
customers.MYD
customers.MYI
departments.frm
departments.MYD
departments.MYI
...
似乎每一个.frm
,.MYD
,.MYI
文件组数据库中的一个表的映射。
我有两个问题要问:
这三个文件到底在做什么?
如果我在
/var/lib/mysql/
say 路径下创建一个新目录db_test_2
,并将每个文件从db_test_1
目录复制到db_test_2
,是否还会创建一个新数据库db_test_2
,其内容(表)与完全相同db_test_1
?
此物理数据库文件移动操作是否与以下命令行操作产生相同的结果:
转储数据库
db_test_1
出创建一个新的数据库
db_test_2
然后将
db_test_1
数据库转储回新数据库db_test_2
?
如果是这样,那么移动文件似乎mysqldump
比复制数据库(或将数据从一个数据库导入MySQL中的另一个数据库)要快得多。有什么意见吗?
mysqldump
在2秒内获得数据库。恢复它是很慢的部分,需要5到10分钟。