专治SQLserver和Navicat for MySQL无法远程连接

安装

本人安装的是MS官方的SQLserver2008R2,链接在此:
https://www.microsoft.com/zh-cn/download/details.aspx?id=30438
专治SQLserver和Navicat for MySQL无法远程连接_第1张图片

配置

在远程连接前必须配置TCP/IP可用,打开下图配置管理器
专治SQLserver和Navicat for MySQL无法远程连接_第2张图片
然后选到数据库网络配置,右键TCP/IP,选择启用专治SQLserver和Navicat for MySQL无法远程连接_第3张图片
右键属性,选IP地址,找到127.0.0.1,这是本地IP,活动选“是”;找到本机IP,活动选“是”。如果不知道本机IP,打开cmd,输入ipconfig,找到你连接网络的IPv4,就是这个。

并且要保证数据库服务在运行
专治SQLserver和Navicat for MySQL无法远程连接_第4张图片

登录账户模式修改

打开数据库客户端
专治SQLserver和Navicat for MySQL无法远程连接_第5张图片

安装时选用混合身份验证,sa登录,如果没有这样做,则需要在客户端中设置。先用Windows验证登录,进入后右键数据库服务-安全性,点选混合验证
专治SQLserver和Navicat for MySQL无法远程连接_第6张图片
在下方安全性中找到sa,设置密码,勾选强制密码
专治SQLserver和Navicat for MySQL无法远程连接_第7张图片
退出后尝试用sa登录

本地连接

Python连接

import pymssql as sql
conn=sql.connect(host='localhost',user='sa',password='password',database='db_name',charset='utf8')

这里localhost=127.0.0.1=本机IP,如果导入pymssql 不成功,则需要pip安装pymssql

java连接

import java.sql.Connection;
import java.sql.DriverManager;
public class DbUtil {
	private String dbUrl="jdbc:sqlserver://localhost:1433;DatabaseName=db_food";
	private String dbUserName="sa";
	private String dbPassword="password";
	private String jdbcName="com.microsoft.sqlserver.jdbc.SQLServerDriver";
	public Connection getCon() throws Exception{
		Class.forName(jdbcName);
		Connection con=DriverManager.getConnection(dbUrl,dbUserName,dbPassword);
		return con;
	}
}

这里localhost同理。需要SQLserver引擎,即com.microsoft.sqlserver.jdbc.SQLServerDriver

远程连接

在A电脑上建立数据库,在B电脑上连接。
A和B必须在同一网段中,即IP的前三项相同,如172.0.0.2和172.0.0.3(举个例子而已)。
SQLserver连接
只需要在B电脑上将上面代码中的localhost改成A电脑IP即可。

Navicat连接
需要先在A电脑MySQL命令行中执行:
GRANT ALL PRIVILEGES ON . TO ‘test’@‘B电脑IP’ IDENTIFIED BY ‘mypassword’ WITH GRANT OPTION;
使B有权限访问。

打开Navicat,新建连接,名字随便起,只需要将localhost改成A电脑IP,无需SSH这些。然后连接测试。MySQL默认超级管理员是root,可以自行修改。
专治SQLserver和Navicat for MySQL无法远程连接_第8张图片
一步一步来很简单的

你可能感兴趣的:(数据库)