1.虚拟机连接本地mysql
1.1.背景
在运行虚拟机上面的项目时,可能要用到本机的数据库,在使用过程中会遇到数据库拒绝访问的情况 ,这是因为在安装本地数据库时没有启动远程连接。
1.2.实现方法
以下的方法是在虚拟机和外部本地主机都有网的情况下实现的。
1.2.1 切换到MySQL的安装路径下面的bin目录
1.2.2 登录MySQL
连接本地数据库 mysql -uroot -p123456,我这里用户名为root,密码为123456。
mysql -uroot -p123456
1.2.3 创建远程登陆用户并授权
1、所指的*号表示本地数据库的数据库名 *.*号表示而本地的所有数据库都授权 test.*表示授权test数据库里面的所有表
2、所指的是root这个用户 4表示root对应的密码名
3、 表示host主机IP 这里的%表示正常的IP地址都可以,
mysql> GRANT ALL PRIVILEGES ON *.* TO '这里写远程登录的账号(比如root)'@'%' IDENTIFIED BY '这里写你远程登录的密码(比如123456)' WITH GRANT OPTION;
实际:
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'plj824' WITH GRANT OPTION;
注意:这个用户是数据库连接的用户(root)
案例:
表示将test数据库的所有权限授权给 root 这个用户,允许root用户在192.168.133.1这个ip下面进行远程登录,并设置root用户的密码为123456
1.2.4 开启MySQL的远程登录账号并退出
mysql> flush privileges;
mysql>exit
1.3.测试案例
1.3.1 查看虚拟机当前的ip
打开Terminal,输入ifconfig查看ip
1.3.2 利用Termius连接linux系统
1.3.3 利用postman往mysql中插入一条数据
2.开启虚拟机特定端口(物理机访问虚拟机某个端口)
2.1 配置端口
vim /etc/sysconfig/iptables
2.2 重启防火墙
service iptables restart
参考文献:
https://blog.csdn.net/ywlmsm1224811/article/details/91491970
https://blog.csdn.net/weixin_40317130/article/details/109999506(重点参考)
https://blog.csdn.net/huihui870311/article/details/73496766--开端口
https://blog.csdn.net/zbajie001/article/details/78779265