Windows安装mysql与连接

1.mysql的windows版本下载与安装

这里用的是8.1.0版本的.msi包进行下载和安装的,具体下载和安装流程参考:mysql(.msi)下载、安装及配置教程_下载mysql-installer-community-5.7.9.1.msi文件-CSDN博客

在安装过程中需要注意的是添加环境变量和调整数据的存储路径。

2.打开防火墙

在电脑设置搜索防火墙,然后打开windows defender 防火墙

打开高级设置

入站规则添加MySQL的默认端口3306

然后就可以调用linux的程序或者使用数据库工具进行连接了。

3.连接

这是我的连接代码:

//@override
	void connect(const string& conn_url,const string& uname,const string& pswd) {
		if(m_SQLInst.net.fd!=0) {
			throw GeneralException2(ERROR_SQLDB_RECONNECT_ERROR,"should not re-connect an opened connection. Please create another instance!");
		}
		//parse url,port,dbname from 'conn_url', like "localhost:3306/my_db"
		string tmpurl(conn_url);
		size_t pos1=tmpurl.find('/');
		if(pos1==string::npos) {
			throw GeneralException2(ERROR_WMFE_INVALID_PARAM, "'conn_url' parse error! cannot find '/'");
		}
		tmpurl[pos1]=0;
		int port=3306;	//default value
		char* p2=strchr((char*)tmpurl.data(),':');
		if(p2!=0) {
			sscanf(p2+1,"%d",&port);
			*p2=0;
		}
		if(NULL==mysql_real_connect(&m_SQLInst,tmpurl.data(),uname.data(),pswd.data(),""/*tmpurl.data()+pos1+1*/,
			port,NULL,CLIENT_MULTI_STATEMENTS)) {
				throwException();
		}
		string db(tmpurl.data() + pos1 + 1);
		string createdb_sql = "Create Database If Not Exists " + db + "  Character Set UTF8";
		exec_no_query(createdb_sql);
		string usedb_sql = "USE " + db;
		exec_no_query(usedb_sql);
	}

但是在连接的过程中发现无法连接mysql,返回错误1130:

ERROR 1130: Host ‘xxx.xxx.xxx.xxx’ is not allowed to connect to thisMySQL serve

这是被连接的账户不允许被远程ip连接,这个账户应该是设置了只允许被localhost连接,所以这里要对这个mysql账户进行修改。参考:MySQL 1130报错_MySQL 1130错误_解决方案_怎么办 - 树懒学堂 (shulanxt.com)

我这里用的是上面参考的改表法,然后就可以远程连接windows上的mysql了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值