深圳列举网 > 商务服务 > 网站/软件服务 > 关于局域网内连接MySQL的问题
深圳
[切换城市]

关于局域网内连接MySQL的问题

更新时间:2014-11-20 15:07:44 浏览次数:71次
区域: 深圳 > 罗湖 > 黄贝岭
类别:IDC服务
地址:罗湖黄贝岭
,局域网内连接MySQL一般用的语句就是:

jdbc:mysql://localhost:3306/database,

但是当你要连接到其他机器上的mysql的时候,单单把上面的语句的localhost改成对应的ip是没有用的,因为Mysql默认开放的连接权限是localhost,当你需要连

接到其他机器上的时候,需要其他机器上的MySQL开启除本地以外的其他ip连接的权限。

在局域网内连接MySQL首先要给MySQL开启远程连接的功能,在MySQL服务器上MySQL命令行执行以下命令:

Sql代码 收藏代码

grant all privileges on *.* to root@"%" identified by '123' with grant option;

flush privileges;

它的意思是给从任意ip地址连接的用户名为root,密码为123的用户赋予所有的权限。其中的"%"为任意的ip地址,如果想设为特定的值也可以设定为特定的值。

执行了该语句后就可以在其他机器上以root:123访问到该机器上了

  第二,linux 下局域网内连接mysql server 超慢的解决方法和可能的问题

在MySQL中执行Show Processlist语句可以看到发现大量unauthenticated user进程卡住,在网上搜索一翻,找到问题根源:

发现这属于一个系统上的特殊设定,亦可称呼他为MySQL的bug,不管连结的的方式是经过hosts或是IP的模式,他都会对DNS做反查。MySQL会尝试去反查IP->DNS,由于

反查解析过慢,无法应付快速多量的查询。

解决方式很简单:启动MySQL的时候,添加–skip-name-resolve选项,禁止域名解析,问题解决。

skip-name-resolve

选项就能禁用DNS解析,连接速度会快很多。不过,这样的话就不能在MySQL的授权表中使用主机名了而只能用ip格式。

若使用–skip-grant-tables系统将对任何用户的访问不做任何访问控制,但可以用 mysqladmin flush-privileges或mysqladmin reload来开启访问控制;默认情况是

show databases语句对所有用户开放,

如果mysql服务器没有开远程帐户,就在m***f里面加上skip-grant-tables

本文出自广深互联:http://www.***/style/info/shownews.asp?id=793

喜欢本文或觉得本文对您有帮助,请分享给您的朋友 ^_^
深圳网站/软件服务相关信息
1天前
11月28日
注册时间:2014年02月25日
UID:111912
---------- 认证信息 ----------
手机已认证
查看用户主页