sql 怎样外网连接远程数据库

sql 怎样外网连接远程数据库,第1张

要点:

1确认服务器端SQL服务端口号是否为:1433

2如果不是1433,配置客户端

3建立服务器端登录帐号,确保角色及管理数据库

一、查看服务器端情况

1 看ping 服务器IP能否ping通。

这个实际上是看和远程sql server 服务器的物理连接是否存在。如果不行,请检查网络,查看配置,当然得确保远程sql server 服务器的IP拼写正确。

2 在Dos或命令行下输入telnet 服务器IP 端口,看能否连通。

如telnet 202114100100 1433

通常端口值是1433,因为1433是sql server 的对于Tcp/IP的默认侦听端口。如果有问题,通常这一步会出问题。通常的提示是“……无法打开连接,连接失败"。

如果这一步有问题,应该检查以下选项。

1) 检查远程服务器是否启动了sql server 服务。如果没有,则启动。

2) 检查sql server服务器端有没启用Tcp/IP协议,因为远程连接(通过因特网)需要靠这个协议。检查方法是,在服务器上打开 开始菜单->程序->Microsoft SQL Server->服务器网络实用工具,看启用的协议里是否有tcp/ip协议,如果没有,则启用它。

3) 检查服务器的tcp/ip端口是否配置为1433端口。仍然在服务器网络实用工具里查看启用协议里面的tcp/ip的属性,确保默认端口为1433,并且隐藏服务器复选框没有勾上。

事实上,如果默认端口被修改,也是可以的,但是在客户端做telnet测试时,写服务器端口号时必须与服务器配置的端口号保持一致。如果隐藏sql server服务器复选框被勾选,则意味着客户端无法通过枚举服务器来看到这台服务器,起到了保护的作用,但不影响连接,但是Tcp/ip协议的默认端口将被隐式修改为2433,在客户端连接时必须作相应的改变(具体方式见 二:设置客户端网络实用工具)。

4) 如果服务器端 *** 作系统打过sp2补丁,则要对windows防火墙作一定的配置,要对它开放1433端口,通常在测试时可以直接关掉windows防火墙(其他的防火墙也关掉最好)。(4、5步我没有做就成功了)

5) 检查服务器是否在1433端口侦听。如果sql server服务器没有在tcp连接的1433端口侦听,则是连接不上的。检查方法是在服务器的dos或命令行下面输入

netstat -a -n 或者是netstat -an,在结果列表里看是否有类似 tcp 127001 1433 listening 的项。如果没有,则通常需要给sql server 2000打上至少sp3的补丁。其实在服务器端启动查询分析器,输入select @@version 执行后可以看到版本号,版本号在802039以下的都需要打补丁。

如果以上都没问题,这时你再做telnet 服务器ip 1433 测试,将会看到屏幕一闪之后光标在左上角不停闪动。恭喜你,你马上可以开始在企业管理器或查询分析器连接

mysql的root账户,我在连接时通常用的是localhost或127001,公司的测试服务器上的mysql也是localhost所以我想访问无法访问,测试暂停

解决方法:

1,修改表,登录mysql数据库,切换到mysql数据库,使用sql语句查看"select host,user from user ;"

mysql -u root -pvmwaremysqluse mysql;

mysqlupdate user set host = '%' where user ='root';

mysqlselect host, user from user;

mysqlflush privileges;注意:最后一句很重要,目的是使修改生效如果没有写,则还是不能进行远程连接

2,授权用户,你想root使用密码从任何主机连接到mysql服务器

GRANT ALL PRIVILEGES ON TO 'root'@'%' IDENTIFIED BY 'admin123' WITH GRANT OPTION;

flush privileges;

如果你想允许用户root从ip为1921681104的主机连接到mysql服务器

最近测试过程中,老需要远程登录到外网的一套服务器上面做测试,但是因为不少开发GG也在上面部署新的代码,所以互相T来T去的,着实比较痛苦和纠结。。

今天终于找到一个临时的解决办法,就是偶在万不得已的情况下再远程登录,如果只涉及数据库 *** 作(测试数据查询,修改等),可以在本地连接服务器上面的数据库。

1安装putty,plink(最好放到C:\Documents and Settings\administrator目录下)

2如果在安装在其他目录下,从命令行进入 puttyexe 所在的目录

3在命令行执行 plink -L 50081:1921680:1433 -l dev -pw mozat 210193(这条命令是映射本地端口50081 到1921680:1433)

4打开sql servermanagement studio,输入服务器:127001,50081,数据库用户名/密码,连接即可

5然后在另一个命令行窗口中执行 mstsc /v:localhost:1433 /admin 即可进行远程登录

其中1433是连接默认的那个数据实例,可按需更改你需要连接的数据实例;50081可以随便使用,尽量用大一些,以免和其他的冲突,当然不要大于6W多就好

这样就不要远程登录到服务器才能进行数据库 *** 作了。

如何设置外网访问服务器sql2008数据库

在设置外网访问SQL2008数据库

之前,首先必须保证局域网内访问SQL2008没有问题

。那么,我们先来看看局域网内访问SQL2008数据库需要哪些步骤和设置,才能做到在局域网内任何一台机器上输入SQL2008数据库IP地址和端口号即能访问。

设置mysql服务允许外网访问,修改mysql的配置文件,有的是myini,有的是mycnflinux

1:设置mysql的配置文件

/etc/mysql/mycnf

找到 bind-address =127001 将其注释掉;//作用是使得不再只允许本地访问;

重启mysql:/etc/initd/mysql restart;

2:登录mysql数据库:mysql -u root -p

mysql> use mysql;

查询host值:

mysql> select user,host from user;

如果没有"%"这个host值,就执行下面这两句:

mysql> update user set host='%' where user='root';

mysql> flush privileges;

或者也可以执行:

mysql>grand all privileges on to root@'%' identifies by ' xxxx';

其中 第一个表示数据库名;第二个表示该数据库的表名;如果像上面那样 的话表示所有到数据库下到所有表都允许访问;

‘%':表示允许访问到mysql的ip地址;当然你也可以配置为具体到ip名称;%表示所有ip均可以访问;

后面到‘xxxx'为root 用户的password;

举例:

任意主机以用户root和密码mypwd连接到mysql服务器

mysql> GRANT ALL PRIVILEGES ON TO 'root'@'%' IDENTIFIED BY 'mypwd' WITH GRANT OPTION;

mysql> flush privileges;

IP为1921681102的主机以用户myuser和密码mypwd连接到mysql服务器

mysql> GRANT ALL PRIVILEGES ON TO 'myuser'@'1921681102' IDENTIFIED BY 'mypwd' WITH GRANT OPTION;

mysql> flush privileges;

默认情况下,mysql数据库用的是3306的端口,你只要在路由器里把3306端口映射到mysql 服务器的IP就可以了, 你外网访问时直接访问路由器的外网地址+端口号就行了。路由器可以用花生壳来实现外网地址和域名的转换。最终你访问就是: ”花生壳的域:3306“就可以了。

以上就是关于sql 怎样外网连接远程数据库全部的内容,包括:sql 怎样外网连接远程数据库、怎样设置才能允许外网访问MySQL、如何远程连接外网的数据库等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9763381.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存