我有一台VM,我将安装mysql服务器。我有一个转储文件,我需要导入到mysql。第一行说:
-- MySQL dump 10.13 Distrib 5.6.20, for linux-glibc2.5 (x86_64)
该文件已包含数据库和表格,以及结构和数据。
grep -i 'current database' db_dump.txt
-- Current Database: `db1`
-- Current Database: `db2`
-- Current Database: `db3`
grep -i 'data for table' db_dump.txt
-- Dumping data for table `TABLE1`
-- Dumping data for table `TABLE2`
-- Dumping data for table `TABLE3`
正如你所看到的,它是一个.txt文件,这部分是我的混乱所在。我所读到的大部分内容是,为了导入文本文件,你必须已经有了数据库和创建的表。但是它们已在文件中定义。所以这导致我运行这样的命令:
mysql -u <user> -p < filename.dump
但是有些文档说你必须有一个.sql文件才能做到这一点。那么我可以将我的.txt文件重命名为.sql或只是按原样导入吗?命令会是什么样的?对于MySQL来说,我真的是一个菜鸟,所以任何指导都非常感谢。
答案 0 :(得分:1)
你的命令是正确的。文件名的扩展名并不重要。重要的是内心。
答案 1 :(得分:1)
哦!实际上有一件事需要改变:
mysql -u<username> -p database_name < filename.dump
数据库名称应该是命令的最后一部分,用户名需要在-u
之后,因此如果您是root用户,则应键入:
mysql -uroot -p database_name < filename.dump