
是你从外网连接到内网的数据库服务器?
此时你需要指定怎么访问内网的数据库ip和端口,一般是通过 nat 端口映射实现,那么做了吗?(此时就外网ip上的端口就不一定是1433了、内网机器的1433防火墙打开了吗?)
还是你从内网连接到外网的数据库服务器?
这种情况下一般不会有多少限制,看远端的服务器是如何配置的了。
按照如下步骤检查:
1. 确认数据库是否允许远程连接
http://zhidao.baidu.com/question/443193756.html?old=1&afterAnswer=1#here
2. 确认数据库服务是否正常启动
进windows的服务管理器,看带有sqlserver的服务
3. 确认数据库服务器的防火墙开通
同1
4. 确认客户端到服务器网络畅通
在客户机上的命令行执行 c:>ping 服务器名
5. 确认连接字符串正确,包括:主机名\实例名,端口
这个,看你的程序了吧。
6. 确认数据库是否允许混合登录方式
同1
/etc/mysql/my.cnf找到 bind-address =127.0.0.1 将其注释掉;//作用是使得不再只允许本地访问;
重启mysql:/etc/init.d/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;
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)