荆轲刺秦王

本地:win10

虚拟机:CentOS 7

1.先在本地 ping 虚拟机 ip

2、检查虚拟机 mysql 的端口是否对外开放

[root@localhost ~]# mysql -u root -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.7.16 Source distribution

Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> show variables like '%port%';
+--------------------------+-------+
| Variable_name            | Value |
+--------------------------+-------+
| innodb_support_xa        | ON    |
| large_files_support      | ON    |
| port                     | 3306  |
| report_host              |       |
| report_password          |       |
| report_port              | 3306  |
| report_user              |       |
| require_secure_transport | OFF   |
+--------------------------+-------+
8 rows in set (0.01 sec)

mysql> quit
Bye
[root@localhost ~]# 

3. cmd 下执行 telnet 172.16.241.128 3306

这个地方需要本地开启 Windows telnet 服务 通常来讲 这个地方有一个客户端 一个服务端 两个都开启就行了 我这边是只有一个 客户端 但是不影响我使用

3.开启虚拟机相关端口

插曲:

systemctl status firewalld.service    查看防火墙状态

systemctl start firewalld.service  开启防护墙

systemctl stopfirewalld.service  关闭防火墙

编辑防火墙文件打开相关端口,因为你想要本地 postman 能访问 所以也需要开启80端口 数据库连接需要 3306 端口

vim /etc/sysconfig/iptables

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

4、远程连接虚拟机数据库访问

 端口都开启了,但还是连不上,看提示说明至少已经关联到mysql,不允许是因为权限不够

 原因:一般 mysql 是不允许除了本机用户以外的用户进行访问的,所以需要给特定ip的用户开放权限,通过这个用户去访问连接

创建用户并附有所有权限 注意 需要在 mysql 下执行 就是登录 mysql 之后 再 use mysql 之后 一行一行的执行

create user 'ecshop_std'@'%' identified by 'ecshop_std';
grant all on *.* to 'ecshop_std'@'%';
flush privileges;

结果如图:

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐