今天调试C++ 连接mysql数据库,用localhost可以成功,但换成本地IP地址则报错,
后参考网上博文,采用命
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;
flush privilegs;
仍然不能连接;
后使用
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456'
flush privilegs;
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '密码' WITH GRANT OPTION;
其中"*.*"代表所有资源所有权限, “'root'@%”其中root代表账户名,%代表所有的访问地址。IDENTIFIED BY '密码',这里换成数据库root用户的密码,WITH GRANT OPTION表示允许级联授权。
5. 刷新访问权限表(不要忘了)
mysql> FLUSH PRIVILEGES;
发现
===========================================================================================
使用下面的命令能使这两个授权串相同,就可以连上数据库,前面一个命令产生的授权串不一致,连不上数据库。
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '密码' WITH GRANT OPTION;
其中"*.*"代表所有资源所有权限, “'root'@%”其中root代表账户名,%代表所有的访问地址。IDENTIFIED BY '密码',这里换成数据库root用户的密码,WITH GRANT OPTION表示允许级联授权。
5. 刷新访问权限表(不要忘了)
mysql> FLUSH PRIVILEGES;
6. 查看用户表验证是否添加成功,查询结果出现最后一行表示添加权限成功
mysql> SELECT User, Password, Host FROM user;
本文参考链接:https://www.cnblogs.com/xihong2014/p/14862450.html