频道栏目
首页 > 程序开发 > Web开发 > Jsp > 正文
自己动手写MiniBBS系列(MVC篇)之远程链接mysql
2011-07-28 09:11:49           
收藏   我要投稿

 

那天心血来潮想要把数据库部署在身边的另外一台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");

 

 

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

 

 

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

点击复制链接 与好友分享!回本站首页
相关TAG标签 链接
上一篇:js作用域链
下一篇:自己动手写MiniBBS系列(MVC篇)之数据库设计
相关文章
图文推荐
点击排行

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站