龙空技术网

MySQL实战003:Windows允许mysql远程连接

编程手札 438

前言:

当前兄弟们对“mysql允许远程连接配置”大概比较看重,我们都想要剖析一些“mysql允许远程连接配置”的相关知识。那么小编在网摘上汇集了一些有关“mysql允许远程连接配置””的相关资讯,希望咱们能喜欢,朋友们快快来了解一下吧!

MySQL是一款使用 SQL 语言进行增删改查操作的关系型数据库,MySQL 数据库支持跨平台、性能卓越,可以和 PHP、Java 等 Web 开发语言完美配合而且体积小、速度快,最重要的是MySQL开源免费,可以大大降低运营成本。本次在衡阳的智能制造服务就是采用的MySQL数据库,并搭配上了自主研发的“雾小脑”。“雾小脑”搭载的是Windows Server系统并安装了Mysql数据库,具体安装方法可以参考文章【MySQL实战001:8.0免安装版服务配置详解 】。

今天在调试程序的时候通过本地电脑链接“雾小脑”上的数据库时遇到提示:Host ‘XXX’ is not allowed to connect to this MySQL server,当然服务器上是可以直接通过localhost访问到数据库的。这里我们可以使用Navicat来管理MySQL数据库,它可以以图形用户界面连接数据库帮助用户方便、简单、快速的创建、管理和访问数据库资源。

原因分析

一般出现这种现象有两个原因,一个是当前用户直接被mysql服务器拒绝访问,另外一个则是3306端口被防火墙禁掉导致无法连接到该端口。

允许防火墙进出

在系统中找到“控制面板→系统和安全→Windows防火墙”,点击左侧菜单中的“高级设置”进入【高级安全 Windows防火墙】界面。鼠标右键左侧的“入站规则”接着点击右侧的“新建规则”,在【新建入站规则向导】界面中的在“规则类型”选择“端口”,点击下一步选择“TCP”,点选“特定本地端口”后填入端口号3306。点击“下一步”继续点选“允许连接”后直接“下一步”,根据用户的实际情况勾选域、专用或共用等选项。点击“下一步”继续并为该规则命名,设置完成之后其他计算机就可以访问该系统的3306端口了。

MySQL服务允许

在安装mysql的机器上运行命令:mysql -u root -p,输入密码之后就可以登录MySQL服务器。然后在mysql中执行命令:use mysql进入mysql数据库,接着继续执行命令: select host from user where user = ‘root’;可以查看当前root用户允许被访问的。如果显示host是localhost就说明该服务只允许被本地访问,那么这时候我们就需要来修改允许访问的权限。该指令的意思是将数据库的所有权限授权给username这个用户,允许username在 xxx.xxx.xx.x 这个IP通过password密码远程登陆MySQL服务器。

参数说明

all PRIVILEGES 表示赋予所有的权限给指定用户,这里也可以替换为赋予某一具体的权限,权限间用“,”半角逗号分隔。*.*指任意数据库中的任意表,也可以指定数据库和表授权:“数据库名.表名”。username则是要授权的用户,该用户可以是已存在的用户,也可以是不存在的用户(不存在会自动新建,password 为username用户的密码)。xxx.xxx.xx.x 是指定允许远程连接的主机IP地址,如果希望所有主机访问可以将其设置为“%”。

总结:

最后记得执行命令:flush privileges;来刷新权限使其生效,或者通过命令 service mysql restart 重启mysql数据库也行。以上内容是小编给大家分享的【MySQL实战003:Windows允许mysql远程连接】。希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。为了方便学习,下面附上本文用到的源码:

>mysql -u root -p>Enter password:Welcome to the MySQL monitor.  Commands end with ; or \g.Your MySQL connection id is 6041Server version: 8.0.19 MySQL Community Server - GPLType 'help;' or '\h' for help. Type '\c' to clear the current input statement.mysql> grant all PRIVILEGES on *.* to 'username'@'xxx.xxx.xx.x' identified by 'password' WITH GRANT OPTION;mysql>flush privileges;

标签: #mysql允许远程连接配置