MySQL 在 Windows 和 Ubuntu 上的安装与远程连接配置简介

MySQL 是一个广泛使用的开源关系型数据库管理系统,它提供了多用户、多线程的数据库服务。本文将介绍如何在 Windows 和 Ubuntu 操作系统上安装 MySQL,并配置远程连接。

Windows 上的 MySQL 安装

1. 下载 MySQL Installer

访问 MySQL 官方网站下载 Windows 版本的 MySQL Installer。选择适合你系统的版本,比如 MySQL Community Server。

2. 安装 MySQL Server

运行下载的安装程序,按照向导进行安装。在安装过程中,你可以选择安装类型,这里我们选择"Custom"自定义安装。

3. 配置 MySQL

在安装过程中,设置 MySQL 服务器的配置,包括 root 用户密码等。

添加x64到右侧:

确保和安装的版本一致:

注意端口号尽量不要修改,如果爆红提示占用只需将占用进程结束即可:

默认即可:

4. 启动 MySQL 服务

安装完成后,你可以在服务管理器中启动 MySQL 服务。

5. 配置环境变量

当然,我们也可以在cmd命令行中使用,这时就需要我们提前设置环境变量:

首先,点击打开系统设置 - > 点击环境变量 :

其次,默认安装路径 C:\Program Files\MySQL\MySQL Server 5.7\bin:

然后,点击新建,将mysql的安装路径添加进去。如果没有修改安装路径的话,默认安装路径为:C:\Program Files\MySQL\MySQL Server 5.7\bin

最后让我们来验证一下 :

win+R打开"运行"窗口,输入"cmd"打开命令行,输入安装时设置的mysql -u用户名 -p密码 (也可以回车之后输入密码)

Ubuntu 上的 MySQL 安装

1. 更新包索引

打开终端,运行以下命令更新你的包索引:

bash 复制代码
sudo apt update

2. 安装 MySQL Server

使用以下命令安装 MySQL:

bash 复制代码
sudo apt install mysql-server

3. 安全配置

安装完成后,运行安全脚本来加强 MySQL 的安全性:

bash 复制代码
sudo mysql_secure_installation

4. 验证安装

使用以下命令登录 MySQL 服务器:

bash 复制代码
sudo mysql -u root -p

远程连接配置

Windows 和 Ubuntu 通用步骤

  1. 配置 MySQL 用户权限

    在 MySQL 中,运行以下 SQL 命令来允许远程连接:

    sql 复制代码
    CREATE USER 'yourusername'@'%' IDENTIFIED BY 'yourpassword';
    GRANT ALL PRIVILEGES ON *.* TO 'yourusername'@'%' WITH GRANT OPTION;
    FLUSH PRIVILEGES;
  2. 安装 MySQL 后,默认情况下 MySQL 8 不会提示设置 root 密码,可以使用系统 root 用户直接登录。

  3. 并且要实现远程登录,需要确保数据库用户具有远程权限,并且在配置文件 :/etc/mysql/mysql.conf.d/mysqld.conf 中设置 bind-address0.0.0.0 或者具体的外网 IP 地址(一般连接到自己本地主机。例:使用ipconfig命令在cmd命令窗口下查看)。

  4. 配置防火墙规则

    1. 在 Windows 上,确保防火墙允许 MySQL 默认端口 3306。

    2. 在 Ubuntu 上,如果使用 ufw,运行以下命令:

      bash 复制代码
      sudo ufw allow 3306/tcp
  5. 测试远程连接

使用 MySQL 客户端工具,如 MySQL Workbench,输入远程服务器的 IP 地址和端口号进行连接测试。

注意事项

  • 确保你的 MySQL 服务器 IP 地址是公网 IP,如果是内网 IP,需要进行端口映射。
  • 远程连接可能受到网络环境的影响,确保网络畅通。
  • 出于安全考虑,建议使用更复杂的密码,并定期更换。

结语

通过上述步骤,你可以在 Windows 和 Ubuntu 上安装 MySQL 并配置远程连接。这将使你能够从任何地方访问和管理你的数据库。记得定期备份你的数据,并保持 MySQL 的更新以获得最新的安全补丁和功能。

相关推荐
Qi妙代码1 分钟前
MYSQL基础
数据库·mysql·oracle
Arbori_262152 分钟前
Oracle中的UNION原理
数据库·oracle
Zero_to_zero12343 分钟前
解决docker的ubuntu系统中文乱码问题
ubuntu·docker·容器
llzcxdb6 分钟前
【MySQL】理解MySQL的双重缓冲机制:Buffer Pool与Redo Log的协同之道
数据库·mysql
SelectDB技术团队38 分钟前
Apache Doris 2025 Roadmap:构建 GenAI 时代实时高效统一的数据底座
大数据·数据库·数据仓库·人工智能·ai·数据分析·湖仓一体
冷凝女子38 分钟前
【QT】获取文件路径中的文件名,去掉后缀,然后提取文件名中的数字
开发语言·数据库·qt
Y第五个季节41 分钟前
Redis - HyperLogLog
数据库·redis·缓存
Allen Bright1 小时前
【MySQL基础-20】MySQL条件函数全面解析:提升查询逻辑的利器
数据库·mysql
Justice link1 小时前
企业级NoSql数据库Redis集群
数据库·redis·缓存
爱的叹息1 小时前
主流数据库的存储引擎/存储机制的详细对比分析,涵盖关系型数据库、NoSQL数据库和分布式数据库
数据库·分布式·nosql