公司里服务端的搭建由我来完成,我在我笔记本上把框架搭建起来以后,想在台式机的电脑上运行,蛋疼的是台式机数据库装不上去,我使用的是mysql数据库,之前在学校遇到这样的问题的时候,简单的把注册表删掉,最糟糕的就是重装系统,这次我算是彻底倒霉了,无论怎么都装不上,一气之下,我打算将我的笔记本中的mysql作为远程数据库,然后用台式机访问,公司里用的是局域网,这一点很容易实现!
很快,代码部署上去,数据库地址改好,让代码跑起来,汤姆猫还没动起来,就拉出一坨屎
如下
java.sql.SQLException: null, message from server: "Host 'xxx' is not allowed to connect to this MySQL server"
还有一大推的错误,就这句都是这句引起的,字面上就是说数据库不允许本机访问???
这是什么情况,由于之前没有做过这样的,所以就卡在这里,网上搜了一下, 找到问题的根源。
原来mysql创建的数据库默认的只有本地才可以访问,因为user表里的“host”字段默认为“localhost”,解决的方案为下
方案一:改表:
use mysql ;select user,host,password from user;
update user set host = '%' where user='root';
方案二:授权法:
例如,你想myuser使用mypassword从任何主机连接到mysql服务器的话。
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
如果你想允许用户myuser从ip为192.168.1.3的主机连接到mysql服务器,并使用mypassword作为密码
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.3' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
楼主,亲测方案一可以,那么方案二也可以