远程连接ubuntu的mysql出现错误:Host '192.168.196.130' is not allowed to connect to this MySQL server

出现错误如下:
Host ‘192.168.196.130’ is not allowed to connect to this MySQL server

初步探查的原因是要在msyql的设置文件里面修改远程ip访问的权限。

那么,解决这个问题就很简单了,经过查询,做出如下处理即可:

mysql>use mysql;  
  
mysql>update user set host = '%'  where user ='root';  
  
mysql>flush privileges;  
  
mysql>select 'host','user' from user where user='root';  
  
mysql>quit  

贴一段我成功的代码:

int main()
{
    MysqlOp mysqlOp;
    if (!mysqlOp.ConnectSql("192.168.196.130", 3306, "root", "123456", NULL))
    {
        printf("connect mysql error!---%s\n", mysqlOp.GetLastErrorPrompt());
        return 0;
    }
    const char* query_statment = "show databases";
    std::vector<std::vector<std::string>> res;
    if (mysqlOp.QuerySql(query_statment, res))
    {
        decltype(res.begin()) it = res.begin();
        for (; it != res.end(); ++it)
        {
            std::vector<std::string> oneline = *it;
            decltype(oneline.begin()) fieldString = oneline.begin();
            for (; fieldString != oneline.end(); ++fieldString)
            {
                std::cout << *fieldString << std::endl;
            }
        }
    }
    
    return 0;
}

结果:
在这里插入图片描述

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
您好!对于您的问题,“MySQL: Host '192.168.10.7' is not allowed to connect to this MySQL server”,这个错误通常是由于MySQL服务器的访问限制引起的。MySQL服务器默认只允许特定的主机连接。 要解决这个问题,您可以按照以下步骤操作: 1. 检查MySQL服务器配置文件(通常是my.cnf或my.ini)中的绑定地址(Bind Address)设置。确保它允许来自您想要连接的主机的连接。您可以尝试将绑定地址设置为0.0.0.0以允许所有主机连接。 2. 检查MySQL用户的权限。在MySQL中,用户权限是基于用户名、密码和主机的组合设置的。确保具有连接MySQL服务器所需的正确用户名、密码和主机。 3. 如果您没有为远程主机创建用户账号,则需要在MySQL服务器上创建一个允许远程访问的用户账号。可以使用以下命令创建用户并授予相应的权限: ```sql CREATE USER 'username'@'192.168.10.7' IDENTIFIED BY 'password'; GRANT ALL PRIVILEGES ON *.* TO 'username'@'192.168.10.7' WITH GRANT OPTION; FLUSH PRIVILEGES; ``` 4. 如果您已经按照上述步骤进行了更改,但仍然无法连接到MySQL服务器,请确保防火墙或网络设置不会阻止连接。检查服务器和客户端之间的网络连接是否正常,并确保防火墙允许MySQL服务器使用的端口(默认是3306)。 请注意,这些步骤可能因您使用的MySQL版本和操作系统而有所不同。如果上述步骤无法解决问题,请提供更多详细信息,以便我能够更好地帮助您。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值