目录
mysql远程访问最常报的就是以下两个错误,一个是10060,一个是11001,后面都有详细的解决方案以及报错原因,这篇应该是最全面的了
解决问题需要耐心,小伙伴们可以跳过前面这一段理论相关的知识点;还有一点,报错不可怕,我们要收集报错下次不再犯;
因为目前我在做项目,带领组员们一起,每个人本地都有一个数据库,但是因为目前用的是gitee,每个人都有自己独立的分支,都会有要动的表,如果都用自己单独的数据库,到时候整合起来组长会崩溃,所以就想着去购买一个云数据库,我买的是阿里云的,身边有人用的是腾讯的,新人试用一个月只需要1.88元。下面我给大家说一下为何要使用云数据库以及团队怎么使用它。
云数据库是部署和虚拟化在云计算环境中的数据库。云数据库是在云计算的大背景下发展起来的一种新兴的共享基础架构的方法,它极大地增强了数据库的存储能力,消除了人员、硬件、软件的重复配置,让软、硬件升级变得更加容易。云数据库具有高可扩展性、高可用性、采用多租形式和支持资源有效分发等特点。
1.动态扩展性;
2.高可用性;
3.降低使用成本;
4.易用性;
5.高性能;
6.免维护;
7.安全。
这个步骤大家可以去B站任意搜索一篇云数据库,会有很多大佬有视频步骤,带你一步一步去配置好。我选择的是第三个视频配置的(仅供参考)。
配置完成之后,就可以给你的组员们分配账号或者是共用同一个账号,没有必要给他们使用管理员账号,给他们权限就可以了(视频里面都有讲解,很详细的)
1.问题出现在访问权限上。
2.防火墙没有关闭
mysql本身设定有访问权限,一般来讲安装的时候如果没有允许远程访问,非localhost 的IP是无法访问到mysql的。
windows defender本身就有很强的网络安全配置,可以屏蔽掉其它IP的访问,除非你设置了相关的规则允许其访问。
mysql -u root -p
select user, host, password from mysql.user;
select user,host,authentication_string from mysql.user;
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;
FLUSH PRIVILEGES;
*.* 表示 对 数据库.表 的权限
root @ % 账户名为root的用户在所有host主机上的访问 (%表示所有主机)
第二个 root是密码。这样使用 就可以用 “账户名为root,密码为root“的账号在所有主机上访问mysql。
5.2我们就进入了有关数据库的管理,我们先创建账号,我是给我的组员们创建了一个普通账号,给了他们一些权限。
5.3再进入数据库安全性里面添加白名单,下面会给提示,如果你想所有人都可以连接的话,你就直接天界白名单为0.0.0.0/0就好了,然后就可以给他们连接数据库了
连接名:自定义,最好用同一个连接名
主机名或IP地址:填写你创建的云数据库里面的外网地址
端口号:看你云数据库外网地址是否是3306,你想改也可以
用户名:也就是你刚给组员们创建的那个普通账号,或者你个他们一人创一个账号,
密码:也是你创建账号时候设置的