单节点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,成功连接说明远程访问已经配置完成!

相关推荐
CaliXz24 分钟前
宝塔面板安装docker flarum失败,请先安装依赖应用: [‘mysql‘]:5/8
mysql·docker·容器
计算机学姐1 小时前
基于SpringBoot的电影售票系统
java·vue.js·spring boot·后端·mysql·spring·intellij-idea
{Hello World}2 小时前
MySQL学习之用户管理
数据库·学习·mysql
平静的大海3 小时前
mysql关闭各种更新
数据库·mysql·adb
ljh5746491193 小时前
mysql 查询进程查看并释放
数据库·mysql·adb
程序员贺加贝3 小时前
【bug】[42000][1067] Invalid default value for ‘xxx_time‘
mysql·bug
猫咪-95273 小时前
数据库原理及应用mysql版陈业斌实验二
数据库·mysql
Katherine10293 小时前
Django 操作数据库mySQL
数据库·mysql·django
aloha_7893 小时前
redis解决缓存穿透/击穿/雪崩
java·数据库·redis·mysql·缓存·java-ee·springboot
声声codeGrandMaster9 小时前
Django项目入门
后端·mysql·django