一个问题已经困扰了我很久的问题今天终于解决了。。。
在用C++连接mysql时,用本地的动态IP加端口号连接本地的数据库mysql_real_connect(conn,"192.168.223.128", "root", "mysql","Project",3306,NULL,0),总是出错,解决步骤:
1 先得在mysql中对你的本机动态IP授权
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.223.128‘ IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
FLUSH PRIVILEGES;
得开放端口号
2 目录在/etc/sysconfig/iptables
在里面增加行代码,代码如下:
-A RH-Firewall-1-INPUT -p tcp -m state –state NEW -m tcp –dport 8088 -j ACCEPT此代码必须放在以下代码之上
-A RH-Firewall-1-INPUT -j REJECT –reject-with icmp-host-prohibited之上,否则不会起作用具体的
service iptables restart
你可以使用telnet来检测你的这个地址的这个端口号是否可达:
telnet 动态IP 端口号
然后就快了的去玩mysql吧
------------------------------------------------------------华丽的分割线-------------------------------------------------------
在ubuntu中, 注释 /etc/mysql/mysql.conf.d/mysqld.cnf 中 bind-address = 127.0.0.1这一行,重启mysql服务费 /etc/init.d/mysql restart 即可