当我运行以下查询时,我收到一个错误:
SELECT
`a`.`sl_id` AS `sl_id`,
`a`.`quote_id` AS `quote_id`,
`a`.`sl_date` AS `sl_date`,
`a`.`sl_type` AS `sl_type`,
`a`.`sl_status` AS `sl_status`,
`b`.`client_id` AS `client_id`,
`b`.`business` AS `business`,
`b`.`affaire_type` AS `affaire_type`,
`b`.`quotation_date` AS `quotation_date`,
`b`.`total_sale_price_with_tax` AS `total_sale_price_with_tax`,
`b`.`STATUS` AS `status`,
`b`.`customer_name` AS `customer_name`
FROM `tbl_supplier_list` `a`
LEFT JOIN `view_quotes` `b`
ON (`b`.`quote_id` = `a`.`quote_id`)
LIMIT 0, 30
Run Code Online (Sandbox Code Playgroud)
错误消息是:
#1449 - The user specified as a definer ('web2vi'@'%') does not exist
Run Code Online (Sandbox Code Playgroud)
为什么我会收到这个错误?我如何解决它?
我有一个PHP脚本,它传递了远程服务器的MySQL连接细节,我希望它执行一个mysqldump命令.为此,我使用的是php exec()函数:
<?php
exec("/usr/bin/mysqldump -u mysql-user -h 123.145.167.189 -pmysql-pass database_name > /path-to-export/file.sql", $output);
?>
Run Code Online (Sandbox Code Playgroud)
当正确的登录详细信息传递给它时,它将完全正常工作.然而,我无法检查,如果它按预期执行,如果不找出为什么不.所述$output阵列返回为空,而如果我直接在命令行上运行命令打印出告诉我登录失败的消息.我想捕获这些错误消息并显示它们.有关如何做到这一点的任何想法?
我登录到AWS实例并尝试将mysql数据库复制到.sql文件.我正在使用命令:
mysqldump -u [username] -p [databasename] > [database].sql
Run Code Online (Sandbox Code Playgroud)
然后输入密码并显示以下消息.
"mysqldump: Got error: 1045: Access denied for user '[username]'@'localhost' (using password: YES) when trying to connect."
Run Code Online (Sandbox Code Playgroud)
我可以使用与上面相同的凭据直接登录到mysql,但仍然会得到相同的错误.我已经为上面的命令尝试了一些不同的方法,但它似乎是权限或类似的问题.在查看phpmyadmin时,用户确实拥有数据库的所有权限,所以我不确定是什么问题?有什么建议?谢谢