当前位置: 移动技术网 > IT编程>开发语言>Jsp > 自己动手写MiniBBS系列(MVC篇)之远程链接mysql

自己动手写MiniBBS系列(MVC篇)之远程链接mysql

2018年04月25日  | 移动技术网IT编程  | 我要评论

 

那天心血来潮想要把数据库部署在身边的另外一台linux计算机的mysql中,但是发现一切配置都没有问题就是链接不上mysql,返回错误说权限不足,连接被禁止。

 

没办法,去google大神上找答案吧。才发现mysql的数据库在linux主机中默认是不支持远程链接的。

发现就是一句话的事情,我们需要一个授权:

grant ALL PRIVILEGES ON *.* to root@"%" identified by "密码";

虽然没刚开始接触数据库,但是英文已经学了很久了,这句话的意思是把所有操作权限赋予root这个用户@‘%’的意思就是在任意一个ip上都适用。

 

原来这个对应的是修改系统mysql.user表中的数据,可以对比的看一下执行前后的表内容的改变。

 

对于linux用户 还可能需要修改/etc/mysql/my.cnf

将以下行注释掉或该为本机的真实ip地址,对于经常更改ip的机器建议还是直接注释比较方便,但是对于这两种方法的区别,本人还是不甚了了,希望知道的朋友告之。

#bind-address           = 127.0.0.1

 

 

好不容易折腾半天用navicat链接到了mysql 打开一看中文全是乱码,意识到肯定是编码方式问题,在navicat的链接属性中设置成utf8就好了。

 

后来查了,在linux中mysql的默认编码是utf8,这与linux是一致的。在win系统中如果不做更改,mysql将使用latin1,一般安装时会改成GBK

 

 

光用navicat链接成功不是重点,还需要在java中实现远程链接。

 

我使用jdbc方法链接mysql数据库

在驱动中指定使用编码为真并使用字符编码utf8

代码如下

 

ct = DriverManager.getConnection("jdbc:mysql://localhost:3306/bbs?user=root&password=asdasd&useUnicode=true&characterEncoding=utf8");

 

 

文中的方法不能算是原创,均是已经使用的非常广泛的用法,写作的目的仅是为了对开发中的重点部分加以记录。还希望大家多多指摘

 

 

本文出自 “摺扇一路走来” 博客

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网