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 的更新以获得最新的安全补丁和功能。

相关推荐
大梦想家a4 分钟前
基于 Spring Boot 的物流运单管理系统后端设计与实现(JWT + MyBatis-Plus + MySQL)
spring boot·mysql·mybatis
ZYJCSZKJ1 小时前
基于地理位置围栏的短视频POI团购系统:LBS空间索引与流量分发实践
java·服务器·数据库
Mr.朱鹏9 小时前
Linux 服务器 LVM 根分区在线动态扩容
linux·服务器·数据库
摇滚侠9 小时前
《SpringBoot 3:入门与应用实战》第 12 章 JDBC 与事务 数据库初始化机制 阅读笔记 36
数据库·spring boot·笔记
qiuhaipeng19 小时前
Claude code 升级后上下文长度变短问题
java·前端·数据库
云贝贝贝10 小时前
腾讯云 TDSQL(MySQL 版)运维高频 6 坑:代理路由、读写分离、分片键、监控、PITR
运维·mysql·腾讯云
wxwx_bscxy32210 小时前
基于Python新冠疫情可视化分析系统的设计与实现
java·数据库·spring boot·python·微信小程序·sqlite
剑之所向11 小时前
.NET 官方`System.Threading.Channels`
前端·javascript·数据库
词却12 小时前
数据库基础:DQL 数据查询语言
数据库·oracle
昌原的儿子LEO13 小时前
Linux IO多路复用与SQLite数据库核心知识点总结
linux·数据库·oracle