一、进入数据库
mysql -u root -p
use mysql;
二、 将用户的主机(host)字段更新为 ‘%’
update user set host = '%' where user = 'root';
三、刷新 MySQL 的权限表的命令
flush privileges;
四、quit;退出MySQL
五、修改
sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
修改bind-address = 0.0.0.0
六、重启
service mysql restart
测试程序:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <mysql/mysql.h>
int main(int argc, char const *argv[])
{
MYSQL mysql, *sock; // 定义mysql实例和指针
//初始化数据库环境
mysql_init(&mysql); // 用于初始化MYSQL对象,为后续的连接做准备。参数是要初始化的MYSQL对象的地址。
//连接数据库
sock = mysql_real_connect(&mysql, "xx.xx.xx.xx", "root", "xxxx", "xxxx", 3306, NULL, 0);
// 这个函数用于创建与MySQL服务器的连接。参数依次为:MYSQL对象的地址、服务器的IP地址、用户名、密码、数据库名、服务器的端口号、unix套接字(在这里没有使用,所以为NULL)、客户端标志(在这里没有使用,所以为0)
if (sock == NULL)
{
fprintf(stderr, "连接失败: %s\n", mysql_error(&mysql));
return 0;
}
printf("连接成功\n"); // 如果连接成功,输出连接成功的提示
//关闭连接
mysql_close(sock); // 使用mysql_close函数关闭与MySQL服务器的连接,参数为MYSQL对象的地址
return 0; // 程序结束,返回0
}