虚拟机连接宿主机(外部本地主机)MySQL数据库

当我们用虚拟机运行项目时,可能要用到外部本地主机的数据库,在使用过程中会遇到数据库拒绝访问的情况 ,这是因为在安装本地数据库时没有启动远程连接。

以下的方法是在虚拟机和外部本地主机都有网的情况下实现的。

一、开启宿主机(虚拟机所在的电脑的)的MySQL数据库远程登录账号

开启步骤:

1、切换到MySQL的安装路径下面的bin目录(我的MySQL的安装路径为D:\mysoftware\PHP\wamp64\bin\mysql\mysql5.7.26\bin);

Win+R打开运行,然后输入cmd打开windows的命令行。

C:\Users\Administrator> cd D:\mysoftware\PHP\wamp64\bin\mysql\mysql5.7.26\bin

2、登录MySQL,然后连接本地数据库 mysql -uroot -p123456,我这里用户名为root,密码为123456。

D:\mysoftware\PHP\wamp64\bin\mysql\mysql5.7.26\bin> mysql -uroot -p123456

mysql>

3、创建远程登陆用户并授权

mysql> GRANT ALL PRIVILEGES ON *.* TO '这里写远程登录的账号(比如root)'@'%' IDENTIFIED BY '这里写你远程登录的密码(比如root)' WITH GRANT OPTION;

4、开启MySQL的远程登录账号

执行flush privileges;

mysql> flush privileges;

二、登录宿主机(外部本地主机)mysql数据库

1、先使用config命令查看宿主机(外部本地主机)的ip地址

ipconfig

mysql
上面IPv4 地址的值就是宿主机(外部本地)的IP地址

2、虚拟机连接宿主机(外部本地主机)mysql数据库

mysql -uroot -h 10.10.10.10 -proot
在Ubuntu上配置MySQL 8.1使得宿主机可以访问的步骤大致如下: 1. 安装MySQL服务器: 首先,确保你的系统是最新的,可以通过运行以下命令来更新系统包列表和已安装的包: ``` sudo apt update sudo apt upgrade ``` 接着安装MySQL服务器: ``` sudo apt install mysql-server-8.0 ``` 2. 安全配置MySQL: 安装完成后,运行安全安装脚本来设置root密码,移除匿名用户,禁止root远程登录,并删除测试数据库: ``` sudo mysql_secure_installation ``` 按提示操作,设置安全的root密码。 3. 修改MySQL配置文件: 编辑MySQL的配置文件以允许外部连接。打开配置文件: ``` sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf ``` 找到`bind-address`这一行,将其注释掉或修改为`bind-address = 0.0.0.0`,这样MySQL就会监听所有网络接口。 4. 重启MySQL服务: 更改配置文件后,需要重启MySQL服务以使更改生效: ``` sudo systemctl restart mysql ``` 5. 添加用户和授权: 登录MySQL数据库: ``` sudo mysql -u root -p ``` 创建一个新用户(如果还没有的话),并授权允许从宿主机的IP地址进行连接。假设你的宿主机的IP地址是`192.168.1.100`,可以这样操作: ``` CREATE USER 'your_username'@'192.168.1.100' IDENTIFIED BY 'your_password'; GRANT ALL PRIVILEGES ON *.* TO 'your_username'@'192.168.1.100' WITH GRANT OPTION; FLUSH PRIVILEGES; ``` 这里的`your_username`和`your_password`需要替换成你选择的用户名和密码。 6. 配置宿主机: 确保宿主机虚拟机运行Ubuntu的机器)之间的网络连接是正确配置的。这可能涉及到端口转发、NAT设置等。 完成以上步骤后,宿主机应该可以通过配置的用户名和密码访问Ubuntu上的MySQL服务器。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值