有2种方法
第一种开通帐号权限,mysql的帐号是user@IP进行访问权限分配的
通常只允许本机访问,也就是root@localhost
如果要外网访问可以通过设置帐号host为%(这个很不安全)
或者添加个你IP的帐号user@ip
如果你使用navicat的话,可以在建立链接的地方使用ssh链接
你的服务器是Linux,那ssh一般都装的吧
mysql链接那里的参数写成本地就行,ssh就写你linux上的用户信息即可
1 允许外网访问MySQL,首先得让MySQL服务器有一个能和外网直接连接的公网的IP,就是不能是10xxx , 17216xy--17231xy, 192168xy的IP地址,
2 然后在MySQL上执行如下语句:
grant all peivilegess on to root@'%' identified by '密码';
flush privileges;
3 打开防火墙,或配置防火墙允许3306端口通过
一般情况下,MySQL数据库服务器不允许外界直接访问,如果要访问的话,可以安装一个web页面的东西(比如phpmyadmin),通过访问页面的形式来访问数据库服务器。
后来在网上发现解决方法,myini里面添加
[mysqld]
skip-name-resolve
这样速度就快了!
skip-name-resolve
选项就能禁用DNS解析,连接速度会快很多。不过,这样的话就不能在MySQL的授权表中使用主机名了而只能用ip格式。
就MySQL本身而言,问题出在在mysql dns反解析
mysql>show processlist;
| 20681949 | unauthenticated user | 10104193:52497 | NULL | Connect | | Reading from net | NULL |
| 20681948 | unauthenticated user | 10104193:52495 | NULL | Connect | | Reading from net | NULL
发现有非常多的 unauthenticated user 尝试做登入使用 mysql 的情况 ,当这种情况无限制发生时就会造成系统十分缓慢。
查阅mysql官方网站得知,这属于官方一个系统上的特殊设定,就把他当成mysql的一个bug算了,不管链接的的方式是经过 hosts 或是 IP 的模式,他都会对 DNS 做反查。mysqld 会尝试去反查 IP -> dns ,由于反查解析过慢,就会无法应付过量的查询。
并且须提供远程访问和1433口打开
参考2005的Sql Server 2005的1433端口打开和进行远程连接
如何打开sql server 2005 的1433端口
配置工具->Sql Server Configuration Manager->MSSQLSERVER的协议
看看TCP/IP协议是否启动,如果启动,右键菜单点"属性" ,在分页菜单中选"IP地址",把"IP1"和"IP2"中"TCP端口"为1433,
"已启用"改为"是"
配置工具->Sql Server Configuration Manager->SQL Native Client 配置->客户端协议->TCP/IP
选择TCP/IP右键菜单中"属性",确认"默认端口"是1433,"已启用"为"是"
SQL Server 2005 远程连接
以上就是关于mysql远程连接 *** 作全部的内容,包括:mysql远程连接 *** 作、怎样设置才能允许外网访问MySQL、访问外网的mysql数据库比较慢是怎么解决等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)