本机如何连接虚拟机MYSQL

server/2024/12/23 11:40:26/

要让本机(主机)连接到虚拟机上的 MySQL 数据库,你需要确保虚拟机和主机之间的网络连接正常,并且 MySQL 配置允许外部连接。以下是实现本机连接虚拟机 MySQL 的步骤:

步骤 1:确认虚拟机与本机的网络连接

  1. 确认虚拟机和主机在同一网络中

    • 如果虚拟机是使用 桥接模式(Bridge Mode)host-only 网络模式(Host-Only Network),则主机和虚拟机会在同一个网络中,通常可以直接连接。
    • 如果是使用 NAT 模式,可能需要做额外的端口转发,才能让虚拟机能被主机访问。
  2. 获取虚拟机的 IP 地址: 在虚拟机中执行以下命令来获取 IP 地址:

    ip addr show

    或者

    ifconfig

    获取到类似 192.168.x.x10.x.x.x 这样的 IP 地址。

步骤 2:配置 MySQL 允许外部连接

默认情况下,MySQL 只允许 localhost(即本地连接)进行连接。为了允许外部(即本机)连接,需要对 MySQL 配置进行一些修改。

  1. 修改 MySQL 配置文件

    • 打开 MySQL 配置文件 my.cnf(在大多数 Linux 系统中,文件路径通常是 /etc/mysql/my.cnf/etc/my.cnf)。

      sudo vi /etc/my.cnf
  2. 查找并修改 bind-address: 找到 bind-address 配置项,修改为 0.0.0.0,以允许从任意 IP 地址连接:

    bind-address = 0.0.0.0
  3. 允许远程用户连接: 确保 MySQL 用户可以通过远程连接访问数据库。你需要修改 MySQL 用户权限,让用户能够从其他主机连接。

    登录 MySQL:

    mysql -u root -p

    然后授予用户远程连接权限:

    GRANT ALL PRIVILEGES ON *.* TO 'your_username'@'%' IDENTIFIED BY 'your_password'; 
    FLUSH PRIVILEGES;

    这条命令的含义:

    • 'your_username' 是你用来连接 MySQL 的用户名。
    • '%' 表示允许任何 IP 地址连接,如果你想限制特定 IP,可以将 % 替换为具体的 IP 地址,如 '192.168.x.x'
    • 'your_password' 是该用户的密码。
  4. 如果出现 “ERROR 1819 (HY000): Your password does not satisfy the current policy requirements” 错误。这是因为不符合mysql的密码设置规范,原因可能因为密码设置的过于简单报错。如果想要查看MySQL完整的初始密码规则,登陆后执行以下命令: SHOW VARIABLES LIKE ‘validate_password',

    密码的长度是由validate_password_length决定的,但是可以通过以下命令修改

    set global validate_password_length=4;

    validate_password_policy  决定密码的验证策略,默认等级为MEDIUM(中等),可通过以下命令修改为LOW(低)

    set global validate_password_policy=0;

    修改完成后密码就可以设置的很简单,比如1234之类的。

  5. 重启 MySQL 服务: 修改配置后,需要重启 MySQL 服务使配置生效:

    sudo systemctl restart mysqld

步骤 3:检查防火墙设置

如果虚拟机上启用了防火墙,确保 MySQL 的端口(默认是 3306)已经开放。

  1. 检查防火墙规则: 查看是否有规则阻止连接:

    sudo firewall-cmd --list-all

  2. 允许 3306 端口: 如果防火墙阻止了 3306 端口,可以运行以下命令允许该端口通过防火墙:

    sudo firewall-cmd --zone=public --add-port=3306/tcp --permanent sudo firewall-cmd --reload

通过以上步骤,你应该能够从本机连接到虚拟机上的 MySQL 数据库


http://www.ppmy.cn/server/152478.html

相关文章

FastAPI vs Go 性能对比分析

FastAPI vs Go 性能对比分析 总体结论 FastAPI 虽然性能优秀,但整体上仍无法完全达到 Go 的性能水平。 详细对比 优势 FastAPI 开发效率高Python生态系统丰富自动API文档生成类型检查和验证异步支持好 Go 原生性能更强内存占用更低并发处理能力强编译型语言的优…

防火墙规则配置错误导致的网络问题排查

防火墙规则配置错误可能导致服务器的网络中断、服务不可用或访问受限等问题。排查和修复防火墙规则配置错误需要系统性的方法,以快速定位问题并恢复正常服务。以下是防火墙规则配置错误导致网络问题的排查与解决指南。 一、常见防火墙配置错误及其影响 错误的默认策…

vue3+vite 引入动画组件库 Inspira UI

关于Inspira UI Inspira UI不是传统的组件库。相反,它是精选的优雅组件集合,您可以轻松将其集成到您的应用程序中。只需选择所需的组件,复制代码,然后自定义以适合您的项目即可。您可以随意使用和修改代码! 官网地址…

【hackmyvm】eigthy 靶机wp

tags: HMVgopherdoas另类sudo提权knock目录穿越 Type: wp dg-publish: true 难度: ⭐️⭐️⭐️ 作者: sml 系统: Linux 这里写目录标题 2. 信息收集2.1. 端口扫描2.2. knock敲门2.3. 目录扫描2.4. 目录穿越 3. 提权 2. 信息收集 2.1. 端口扫描 ┌──(root㉿kali)-[~/Deskt…

关于VQ-GAN利用滑动窗口生成 高清图像

参考文章:VQGAN 论文与源码解读:前Diffusion时代的高清图像生成模型 | 周弈帆的博客 概念补充:所谓“高清”,就是像素很多,比如,512x512就比64x64要高清很多 请仔细琢磨上面的这几句话即可。 (…

Linux查看键鼠输入

文章目录 通过打开input设备来读取输入通过第三方程序获取xevxinputevtest 参考 本文简单介绍几种在linux下查看键鼠输入的方法 通过打开input设备来读取输入 程序如下&#xff0c;使用时需要看情况修改input设备路径 #include <fcntl.h> #include <linux/input.h&g…

每天40分玩转Django:Django缓存视图

Django缓存视图 一、今日学习内容概述 学习模块重要程度主要内容视图缓存基础⭐⭐⭐⭐⭐缓存装饰器、缓存配置基于会话缓存⭐⭐⭐⭐⭐会话存储、用户相关缓存动态缓存处理⭐⭐⭐⭐条件缓存、缓存失效缓存优化策略⭐⭐⭐⭐性能优化、最佳实践 二、缓存配置示例 # settings.p…

中软高科身份证云解码金融(银行)解决方案介绍

多年来&#xff0c;中软高科一直深耕身份证云解码领域&#xff0c;对身份证云解码应用于金融&#xff08;银行&#xff09;&#xff0c;进行了大量且深入的研究。从长期调研来看&#xff0c;金融&#xff08;银行&#xff09;的痛点需求主要有&#xff1a; 传统身份证解码设备…