单节点MySQL部署

Ubuntu22.04安装单节点Mysql

步骤 1:更新软件包列表并安装 MySQL

  1. 更新系统的软件包列表

    bash 复制代码
    sudo apt update
    sudo apt upgrade -y
  2. 安装 MySQL Server

    bash 复制代码
    sudo apt install mysql-server -y
  3. 检查 MySQL 服务是否已启动

    bash 复制代码
    sudo systemctl status mysql

    如果没有运行,可以手动启动:

    bash 复制代码
    sudo systemctl start mysql

步骤 2:配置 MySQL 初始设置

  1. 运行安全脚本来配置 MySQL(可以跳过一些不需要的安全选项)

    bash 复制代码
    sudo mysql_secure_installation
    • 按照提示操作,通常你可以执行以下选项:
      • 设置或跳过 root 密码(我们后面会手动设置)。
      • 删除匿名用户:Yes
      • 禁用 root 远程登录(选择 No,因为我们要设置远程访问)。
      • 删除测试数据库:Yes
      • 重新加载权限表:Yes
  2. 登录 MySQL Shell

    bash 复制代码
    sudo mysql -u root
  3. 设置 root 用户密码123456

    sql 复制代码
    ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
    FLUSH PRIVILEGES;
    • 使用 mysql_native_password 是为了兼容某些客户端。

步骤 3:允许远程访问

  1. 编辑 MySQL 配置文件

    打开配置文件:

    bash 复制代码
    sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
    • 找到以下行:

      复制代码
      bind-address = 127.0.0.1
    • 修改为:

      复制代码
      bind-address = 0.0.0.0
    • 这样做允许 MySQL 接收来自任何 IP 地址的连接。

  2. 保存并退出 (按 Ctrl + X,然后按 YEnter)。

  3. 重新启动 MySQL 服务

    bash 复制代码
    sudo systemctl restart mysql

步骤 4:创建远程用户(可选)

如果不想用 root 用户,可以新建一个允许远程访问的用户:

  1. 登录到 MySQL:

    bash 复制代码
    sudo mysql -u root -p
  2. 创建一个远程用户 并授权:

    sql 复制代码
    CREATE USER 'remote_user'@'%' IDENTIFIED BY '123456';
    GRANT ALL PRIVILEGES ON *.* TO 'remote_user'@'%' WITH GRANT OPTION;
    FLUSH PRIVILEGES;
    • 这里,remote_user 是远程用户,% 代表允许来自任意 IP 地址的连接。
    • GRANT ALL PRIVILEGES 允许这个用户执行所有操作。根据实际需求,可以更细化权限。

步骤 5:防火墙设置(开放 MySQL 端口 3306)

  1. 打开 3306 端口(MySQL 的默认端口):

    bash 复制代码
    sudo ufw allow 3306/tcp
  2. 启用防火墙(如果尚未启用)

    bash 复制代码
    sudo ufw enable
  3. 查看防火墙规则

    bash 复制代码
    sudo ufw status

    确保 3306 端口已经列在允许的列表中。


步骤 6:测试远程连接

  1. 从另一台电脑或服务器,尝试连接到 MySQL(将 <server-ip> 替换为你的 Ubuntu 服务器 IP):

    bash 复制代码
    mysql -u root -p -h <server-ip>
  2. 输入密码 123456,成功连接说明远程访问已经配置完成!

相关推荐
Database_Cool_6 小时前
OLTP 和 OLAP 区别详解:分析型数据库和事务型数据库怎么选(附阿里云 AnalyticDB MySQL 选型指南)
数据库·mysql·阿里云
Database_Cool_7 小时前
单机 MySQL 迁移到分布式数据库方便吗?阿里云 PolarDB-X 100% MySQL 协议兼容零改造平滑迁移
数据库·分布式·mysql
姜太小白8 小时前
【MySQL】 索引优化实战:解决 WHERE 等值 + IS NULL 查询,TEXT 字段报错 1167 的完整指南
数据库·mysql
liuxiaowei39 小时前
【绝版教程】新版MySQL DBA高级实战进阶班 MySQL8.0 姜承尧-腾讯数据库总监
数据库·mysql·dba
sg_knight12 小时前
MySQL 存储过程详解:从入门到实战
android·数据库·mysql·database·dba·关系型数据库·db
Database_Cool_13 小时前
企业级多模态分析计算引擎选型:首选 AnalyticDB MySQL 向量 + SQL + 实时一体化方案
数据库·sql·mysql
宇宙第一小趴菜15 小时前
五、Oracle vs MySQL 架构深度对比笔记
mysql·oracle·架构
Database_Cool_17 小时前
云数据仓库开通指南:阿里云 AnalyticDB MySQL 10 分钟从 0 到分析实战教程
数据仓库·mysql·阿里云
—Miss. Z—19 小时前
计算机二级MySQL——简单应用题(事件&视图)
android·mysql·adb
会编程的土豆20 小时前
MySQL 中的 IN 和 EXISTS(零基础笔记)
数据库·笔记·mysql