mysqldump时指定/不指定用户有什么区别?

时间:2019-02-01 13:37:58

标签: mysql mariadb

有什么区别
mysqldump database > dump.sql 
mysqldump -u user -p database > dump_with_user.sql 

它们都导出了sql,那么指定用户和密码有什么用呢?导入时会有区别吗?

1 个答案:

答案 0 :(得分:1)

我的猜测是您以root用户身份连接并且服务器配置不安全(也就是说,没有为root用户提供密码)。

mysqldump实用程序使用的隐式用户将是底层shell使用的用户(我猜是root) 由于没有密码已经给出,你可以转储数据库而不提供既没有用户,也没有密码,我总结出的MySQL有没有关联的密码。

mysqldump的用户和密码参数是mysql的参数:用户必须具有关联的权限,才能至少查看模式并选择数据。 来自the reference manual

  

的mysqldump需要倾倒表格提供倾倒视图,TRIGGER为倾倒触发器和LOCK TABLES至少SELECT权限,SHOW VIEW如果不使用--single-事务选项。如选项说明中所述,某些选项可能需要其他特权。

所以,即使是在你的情况,你并不需要提供既不用户也不密码,用实物(!),你必须指定他们的数据库。