解决mysql_real_connect() 远程连接mysql数据库无法成功问题

在Mac上运行MySQL 8.0.21时,使用mysql_real_connect()在Visual Studio的C项目中尝试远程连接失败。问题源于数据库配置仅允许本地连接和'caching_sha2_password'认证插件不被支持。解决方案包括修改MySQL配置文件以允许远程访问,并在数据库中创建新的用户,使用不依赖'caching_sha2_password'的认证方式。
摘要由CSDN通过智能技术生成

环境及工具

Mysql的host主机:MacBook Pro  Catalina 10.15

Mysql版本:8.0.21  通过Homebrew安装

Connector C工程运行主机及环境:Dell Win10 64位 Visual Studio 2015 项目构建时导入mysql-connector-c-6.1.11-win32库

遇到问题

VS项目中用mysql_real_connector()这个函数进行数据库连接时,本地的数据库可以连接,但是远程数据库无法连接成功。遇到同样问题的小伙伴可以借鉴一下本篇的解决方案。

解决

1. 先试一下用win电脑的mysql命令行工具能否连上远程数据库。

mysql -u[username] -h[数据库的hostname] -p[password]
#[]中的内容根据自己的数据库配置情况替换

如果连接不上的话检查数据库的host主机,是否允许除了本机外的其他ip地址访问。检查方法:打开Mac终端

vi /usr/local/etc/my.cnf
#这是我的mysql配置文件的位置,即使时mac环境也可能会不一样,这里需注意

mysql配置文件打开以后是这样的

# Default Homebrew MySQL server config
[mysqld]
# Only allow connections from localhost
bind-address = 127.0.0.1
mysqlx-bind-address = 127.0.0.1

表示默认的初始配置是只允许本机的数据

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值