我有一个.sql导出文件phpMyAdmin.我想使用命令行将其导入到不同的服务器中.
我有一个Windows Server 2008 R2安装.我把.sql文件放在C盘上,我尝试了这个命令
database_name < file.sql
Run Code Online (Sandbox Code Playgroud)
它不起作用我得到语法错误.
有没有办法从mysqldump命令限制某些表?
例如,我使用以下语法只转储table1和table2:
mysqldump -u username -p database table1 table2 > database.sql
Run Code Online (Sandbox Code Playgroud)
但是有没有类似的方法来转储除 table1和table2 之外的所有表?我还没有在mysqldump文档中找到任何内容,那么brute-force(指定所有表名)是唯一的方法吗?
我正在离开Linode,因为我没有必要的Linux系统管理员技能; 在我完成向更友好的noob友好服务的过渡之前,我需要下载MySQL数据库的内容.有没有办法可以从命令行执行此操作?
我正在尝试将一个数据库的所有mysql数据转储到一个文件中.也就是说,我不想在这个文件中包含表结构(还有另一个文件,其中包含表的结构).
是否可以严格提取数据而不是表格结构?
我现在在做什么......
# Extracts the database structure
mysqldump -d -hlocalhost -uusername -ppassword database -r database.sql
# Extracts each table and their data individually
mysqldump -d -hlocalhost -uusername -ppassword database --tab .
Run Code Online (Sandbox Code Playgroud)
第一个命令将使用数据库中所有实体的结构吐出.sql文件,而第二个命令会自动生成带有结构和实体的.sql和.txt文件.
我需要的是整个数据库的一个副本,它以相同的方式完成.
谢谢
通常,当我备份数据库时,我会运行如下命令:
mysqldump -uuser -p -hhost -Ddatabase > C:\TEMP\db_2018-04-05.sql
Run Code Online (Sandbox Code Playgroud)
在该文件中,有DROP table语句。这通常很好,但我已经修改了我的本地主机,使其具有与生产数据库不同的架构。
如果我执行此文件,它将消除对本地主机上数据库架构的重要更改。
我需要的只是INSERT陈述。我可以通过任何标志mysqldump来实现这一目标吗?