我正在研究一个Perl脚本,该脚本使用mysqldiff
比较两个数据库,然后将更改应用于第一个数据库。我正在使用的命令:
mysqldiff --host=$dbHost --user=$dbUser -A $dbName1 $dbName2
我有所不同,但之后总是会发生以下错误:
ERROR 1044 (42000): Access denied for user ''@'localhost' to database <NAME OF THE DATABASE>
我该如何解决这个问题?
答案 0 :(得分:0)
我是否认为您至少收到以下消息?
nApply以上更改为$ db0 [y / N]吗?
如果是,似乎MySQL::Diff的auth_args不起作用。 您可以尝试使用其他语句:
GetOptions(\%opts,“ help |?”,“ debug | d:i”,“ apply | A”,“ batch-apply | B”, “保留旧表| k”,“保留旧列| c”,“无旧定义| n”, “ only-both | o”,“ table-re | t = s”, “主机| h = s”,“端口| P = s”,“套接字| s = s”,“用户| u = s”,“密码| p:s”, “ host1 = s”,“ port1 = s”,“ socket1 = s”,“ user1 = s”,“ password1:s”, “ host2 = s”,“ port2 = s”,“ socket2 = s”,“ user2 = s”,“ password2:s”, “宽容| i”,“单笔交易| S”,“列表表| l” )
(请参见源代码)
如果这不起作用,请尝试使用
在调试模式下启动它-d,--debug