【发布时间】:2019-10-01 09:50:30
【问题描述】:
更新:联系了我网站的虚拟主机,他们说
共享服务器上没有启用远程 mysql 连接,你需要一个 VPS。
尝试通过在 Visual Studios 上创建的 C# Windows 窗体连接到在线数据库。
数据库、用户名和密码是正确的,因为我在网站上使用它们通过 PHP 连接到数据库。服务器是正确的,因为我已经设法直接连接到主机并将文件成功上传到服务器。
在主机控制面板上,我允许通过“远程 MySQL”连接我的 IP 地址。
我尝试登录的用户拥有所有权限。当我登录到 phpmyadmin 时,它说用户没有权限。顶部没有“用户帐户”选项。
C#
connString = "server=XXX; port=3306; Database=XXX; Uid=XXX; Pwd=XXX;";
try
{
conn = new MySqlConnection();
conn.ConnectionString = connString;
conn.Open();
MessageBox.Show("Connected");
DBConnection.Open();
OleDbCommand command = new OleDbCommand();
command.Connection = DBConnection;
}
catch (MySql.Data.MySqlClient.MySqlException ex)
{
MessageBox.Show(ex.Message);
}
我希望连接到在线数据库,但在消息框中却收到以下错误消息:
无法连接到任何指定的 MySQL 主机。”
我认为这与其说是代码问题,不如说是用户缺乏权限,但由于没有用户对 phpmyadmin 有权限,我陷入了需要授予权限而没有任何权限的循环所以。
【问题讨论】:
-
记住,MySQL 中的用户有一个域部分。这指定了允许用户名连接的位置。所以你必须创建一个允许从你的 IP 地址连接到这个 MySQL 的用户
-
您通常会使用
root超级用户来分配新用户和权限。您是否有权访问root帐户或提供给您的其他管理员帐户? -
据我所知,没有提供管理员帐户。我已经向我的主机提出了支持票(无限网络托管)。有没有办法找出来?我尝试使用“SELECT user, password FROM mysql.users”,但被拒绝了。
-
欢迎来到 Stackoverflow。是您的服务器端口,3306 可用于从外部 ip 连接。如果不为其创建规则
-
感谢您的帮助。我联系了我的主机并需要一个 VPS 主机。
标签: c# mysql phpmyadmin