mysqldump未创建create database语法

13

我正在使用MySQL数据库。我正在使用mysqldump创建数据库的转储。我希望数据库被转储为如果存在则删除数据库命令,然后是创建数据库命令。我正在使用以下命令(在我的示例数据库项目上)。

mysqldump --skip-comments --compact --add-drop-database -uroot -proot project

我获得了以下结果:

CREATE TABLE `names` (
  `name` varchar(50) default NULL,
  `year` varchar(5) default NULL,
  `branch` varchar(50) default NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
INSERT INTO `names` VALUES ('Venkat','4-1','cse'),('rambabu','4-1','cse'),('nagesh','4-2','cse'),('ganesh','4-2','cse'),('rajesh','3-2','cse'),('ramesh','3-2','cse'),('sasirekha','3-1','cse'),('leela','3-1','cse');
CREATE TABLE `store` (
  `name` varchar(50) default NULL,
  `branch` varchar(50) default NULL,
  `year` varchar(50) default NULL,
  `feedback` varchar(500) default NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
INSERT INTO `store` VALUES ('nagesh','CSE','4-2','feedback for nagesh'),('ganesh','CSE','4-2','his performance is good. his behaviour is good.'),('rajesh','CSE','3-2','feedback of rajesh2'),('ramesh','CSE','3-2','feedback of ramesh'),('rajesh','CSE','3-2','feedback of rajesh'),('ramesh','CSE','3-2','feedback of ramesh'),('Venkat','CSE','4-1','feedback of venkat'),('rambabu','CSE','4-1','feedback of rambabu');

正如你所看到的,我这里没有删除数据库和创建数据库的语法。我做错了什么?? MySqlServer版本:14.12 Distrib 5.0.45


2
希望你只在开发机器上使用那个“-p”选项。 - Shiplu Mokaddim
@shiplu.mokadd.im,使用“-p”有什么不好的地方? - vinhboy
1
@vinhboy,“-p”是“-proot”,它会在终端显示密码并保存在bash历史记录中。很容易被找到。 - Genghis Khan
1个回答

24
尝试这样做: mysqldump --skip-comments --compact --add-drop-database -uroot -proot --databases project

有些人可能需要使用“--lock-tables=False”选项。https://dev59.com/HnVD5IYBdhLWcg3wDXJ3 - Hamish Grubijan

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接