none
关于MySQL数据连接的奇怪问题。谁来HELP RRS feed

  • 问题

  • 我的MySQL数据在另一台主机上,并针对我的主机做了授权。

    mysql> grant all privileges on *.* to root@"192.168.21.134" identified by "root";
    Query OK, 0 rows affected (0.00 sec)


    mysql> flush privileges;
    Query OK, 0 rows affected (0.00 sec)
     然后在我本机使用C# 建议连接查询数据库。

    MySqlConnection myConnection = new MySqlConnection("Server=192.168.21.244;Database=demo;Uid=root;Pwd=root");

    当使用  MySqlDataReader reader = command.ExecuteReader();这样的方式读取数据库时,一点问题都没有,可以正常访问。

    但如果使用如下的方式(使用MySQLDataAdapter时),

    MySqlDataAdapter myDataAdapter = new MySqlDataAdapter(strSQL, myConnection);

    myDataSet = new DataSet();
    myDataAdapter.Fill(myDataSet, "test");在执行到Fill时报The user specified as a definer ('root'@'%') does not exist。

    网上的解决方案就是让我在MySQL直接授权,即grant all privileges on *.* to root@"%" identified by "root";

    但为了数据库安全是不允许这么做的,有没有其它的解决方案。


    2018年11月15日 7:07

答案

  • 你好,

    这个问题主要Mysql 的权限的问题,我建议到专业的Mysql for visual studio 论坛发帖,那里有更专业的MySQL 专家。

    https://forums.mysql.com/read.php?174,643956,644021

    Best regards,

    Zhanglong


    MSDN Community Support
    Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.

    • 已标记为答案 王长春1 2018年11月23日 8:49
    2018年11月16日 8:07
    版主

全部回复