如何在已发布的文件夹之外执行可以访问 mysql 的程序?
How to execute a program with access to mysql outside of published folder?
我有一个访问 MySQL 的 .net 核心控制台应用程序。我已经在我的 raspberry pi 上成功地将应用程序编译为 运行,它还托管了 MySQL 数据库。在我将编译后的代码通过 sftp 传输到我的 raspberry pi 后,如果我在包含该应用程序的文件夹中,我可以成功 运行 代码。但是,如果我上升一个级别并尝试 运行 该应用程序。我从 MySQL 收到身份验证错误。例如,在我的发布文件夹中,我可以 运行 ./Application 没有任何问题。如果我上升一个级别然后 运行,例如 publish/Application,它会因身份验证错误而失败。
下面是我遇到的异常。
Unhandled Exception: MySql.Data.MySqlClient.MySqlException: Authentication to host '' for user '' using method 'mysql_native_password' failed with message: Access denied for user ''@'localhost' (using password: NO) ---> MySql.Data.MySqlClient.MySqlException: Access denied for user ''@'localhost' (using password: NO)
您还可以在下面看到我的应用程序设置文件,其中包含我的连接信息。
{
"ConnectionStrings": {
"TestDB": "Server=127.0.0.1;Database=TestDB;Uid=remote;Pwd=remote"
}
}
这也是我用来授予我的用户访问数据库的查询。
GRANT ALL PRIVILEGES ON TestDB.* TO remote@'%' IDENTIFIED BY 'remote';
有谁知道可能导致此问题的原因是什么?我的最终目标是能够从任何目录执行应用程序,以便将其添加到 cron 守护程序。
如有任何帮助,我们将不胜感激。
谢谢。
我想,你的连接字符串有误。
试试这个:
{
"ConnectionStrings": {
"TestDB": "Server=127.0.0.1;Database=TestDB;User=remote;Password=remote"
}
}
我刚刚将 Uid
和 Pwd
替换为 User
和 Password
我有一个访问 MySQL 的 .net 核心控制台应用程序。我已经在我的 raspberry pi 上成功地将应用程序编译为 运行,它还托管了 MySQL 数据库。在我将编译后的代码通过 sftp 传输到我的 raspberry pi 后,如果我在包含该应用程序的文件夹中,我可以成功 运行 代码。但是,如果我上升一个级别并尝试 运行 该应用程序。我从 MySQL 收到身份验证错误。例如,在我的发布文件夹中,我可以 运行 ./Application 没有任何问题。如果我上升一个级别然后 运行,例如 publish/Application,它会因身份验证错误而失败。
下面是我遇到的异常。
Unhandled Exception: MySql.Data.MySqlClient.MySqlException: Authentication to host '' for user '' using method 'mysql_native_password' failed with message: Access denied for user ''@'localhost' (using password: NO) ---> MySql.Data.MySqlClient.MySqlException: Access denied for user ''@'localhost' (using password: NO)
您还可以在下面看到我的应用程序设置文件,其中包含我的连接信息。
{
"ConnectionStrings": {
"TestDB": "Server=127.0.0.1;Database=TestDB;Uid=remote;Pwd=remote"
}
}
这也是我用来授予我的用户访问数据库的查询。
GRANT ALL PRIVILEGES ON TestDB.* TO remote@'%' IDENTIFIED BY 'remote';
有谁知道可能导致此问题的原因是什么?我的最终目标是能够从任何目录执行应用程序,以便将其添加到 cron 守护程序。
如有任何帮助,我们将不胜感激。
谢谢。
我想,你的连接字符串有误。
试试这个:
{
"ConnectionStrings": {
"TestDB": "Server=127.0.0.1;Database=TestDB;User=remote;Password=remote"
}
}
我刚刚将 Uid
和 Pwd
替换为 User
和 Password