windows 本地 cmd 连接虚拟机上的 Mysql

 

一、概述

windows 中的 cmd 连接 虚拟机 linux(CentOS 7) 系统的 Mysql 的过程中出现连接失败的问题,在处理这个问题时又延伸出若干问题。

具体问题记录及解决问题的步骤记录如下:

1、虚拟机 Mysql 3306 端口未开放

问题描述

连接失败的主要原因是 虚拟机 3306 端口未开放

比如我们能用 xshell 等远程工具连接虚拟机上的 linux,是因为开放了 22 端口

解决方案

通过 linux 防火墙文件开放 3306 端口

引申问题

Unit iptables.service could not be found

2、Unit iptables.service could not be found

问题描述

在 linux 中 查看防火墙状态打开防火墙文件时,提示 Unit iptables.service could not be found

原因是在 CentOS 7 中防火墙由 firewalld 来管理,而非iptables

解决方案

可以原传统的管理方式,或者使用新的命令进行管理

3、Host is not allowed to connect to this Mysql Server

问题描述

通过 防火墙文件开放 3306 端口后,提示 Host is not allowed to connect to this Mysql Server

原因是 Mysql 不允许远程登录,所以远程登录失败了

解决方案

修改并更新相关权限

二、步骤

1、在 linux 上安装 iptables-services

yum install iptables-services

2、编辑防火墙文件打开3306端口

vim /etc/sysconfig/iptables

 模仿22端口开放命令添加如图所示的一行即表示对外开放3306端口

3、重启防火墙

service iptables restart

4、设置 Mysql 允许远程登陆

① 在装有 Mysql 的机器上登录 Mysql

mysql -u root -p密码

② 使用 mysql 数据库

use mysql;

③ 更新权限

update user set host = '%' where user = 'root';

执行这句时可能会报错,不用管它。

④ 刷新 Mysql 权限相关表

FLUSH PRIVILEGES;

5、通过本机 cmd 连接虚拟机 linux 上的 Mysql

 

 


版权声明:本文为BrettManning原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。