当前位置: 首页 > ds >正文

Ubuntu 下 MySQL 运维自动化部署教程(在线简易版)

适用于 Ubuntu 20.04/22.04 系统及以上版本,自动化脚本在文末。


📌 一、更新系统包

sudo apt update && sudo apt upgrade -y

📌 二、安装 MySQL Server

Ubuntu 官方源中的 MySQL 默认是 MySQL 8.x 版本。

sudo apt install mysql-server -y

📌 三、启动和检查服务状态

sudo systemctl start mysql
sudo systemctl enable mysql   # 设置为开机自启
sudo systemctl status mysql   # 查看运行状态

📌 四、安全配置(设置 root 密码)

MySQL 默认不设置密码,可执行如下命令进入命令行设置:

sudo mysql

在 MySQL 提示符中输入:

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
FLUSH PRIVILEGES;
EXIT;

✅ 建议密码简单:如 123456(测试或内部使用),生产环境请使用复杂密码。


📌 五、测试登录

mysql -u root -p
# 输入你设置的密码 123456

📌 六、创建数据库和用户(举例)

创建数据库:

CREATE DATABASE testdb DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;

创建用户并授权:

CREATE USER 'testuser'@'localhost' IDENTIFIED BY '123456';
GRANT ALL PRIVILEGES ON testdb.* TO 'testuser'@'localhost';
FLUSH PRIVILEGES;

📌 七、开放远程访问(可选)

  1. 修改绑定地址:
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf

将:

bind-address = 127.0.0.1

改为:

bind-address = 0.0.0.0
  1. 授权远程用户:
CREATE USER 'testuser'@'%' IDENTIFIED BY '123456';
GRANT ALL PRIVILEGES ON testdb.* TO 'testuser'@'%';
FLUSH PRIVILEGES;
  1. 重启服务:
sudo systemctl restart mysql
  1. 检查防火墙是否允许 3306 端口:
sudo ufw allow 3306

📌 八、常见运维命令

操作命令
启动 MySQLsudo systemctl start mysql
停止 MySQLsudo systemctl stop mysql
重启 MySQLsudo systemctl restart mysql
查看状态sudo systemctl status mysql
登录 MySQLmysql -u root -p
查看数据库SHOW DATABASES;
修改 root 密码ALTER USER ...

📌 九、数据库备份与还原(可选)

备份数据库:

mysqldump -u root -p testdb > testdb_backup.sql

还原数据库:

mysql -u root -p testdb < testdb_backup.sql

✅ 十、结语

本教程覆盖了从安装到基本管理、远程访问和运维操作的全过程,适合快速部署 MySQL 并开始开发或配合 BI 工具等使用。

如需我生成一个 Markdown 格式手册、PDF 或 .sh 自动安装脚本,也可以告诉我。

以下是为 Ubuntu 下 MySQL 运维部署教程 增加的 自动化部署脚本,可直接复制粘贴到 .sh 文件中使用,一键完成安装、初始化密码设置、配置远程访问与基础优化:


✅ 十一、自动化部署脚本 mysql_deploy.sh

#!/bin/bash# 简单变量设置
MYSQL_ROOT_PASSWORD="123456"  # 可按需修改
MYSQL_PORT=3306echo "=== 开始更新系统并安装 MySQL ==="
sudo apt update && sudo apt install -y mysql-serverecho "=== 启动 MySQL 并设置开机启动 ==="
sudo systemctl start mysql
sudo systemctl enable mysqlecho "=== 修改 root 初始密码 ==="
sudo mysql -e "ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '${MYSQL_ROOT_PASSWORD}'; FLUSH PRIVILEGES;"echo "=== 开启远程访问 ==="
sudo sed -i "s/^bind-address.*/bind-address = 0.0.0.0/" /etc/mysql/mysql.conf.d/mysqld.cnfecho "=== 设置 root 用户可以远程登录 ==="
sudo mysql -uroot -p${MYSQL_ROOT_PASSWORD} -e "GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '${MYSQL_ROOT_PASSWORD}' WITH GRANT OPTION; FLUSH PRIVILEGES;"echo "=== 重启 MySQL 以应用更改 ==="
sudo systemctl restart mysqlecho "=== 防火墙放行 ${MYSQL_PORT} 端口(如有) ==="
sudo ufw allow ${MYSQL_PORT}echo "=== 部署完成 ==="
echo "✔️ MySQL 已安装并配置完毕"
echo "✔️ root 密码:${MYSQL_ROOT_PASSWORD}"
echo "✔️ 远程访问:已启用(请确保服务器公网 IP 安全)"

📌 使用说明:

  1. 保存脚本

    nano mysql_deploy.sh
    # 粘贴上面的内容,保存退出
    
  2. 赋予执行权限并运行

    chmod +x mysql_deploy.sh
    ./mysql_deploy.sh
    
http://www.xdnf.cn/news/17169.html

相关文章:

  • 【测试】⾃动化测试常⽤函数
  • Linux命令top
  • Selenium教程(Python 网页自动化测试脚本)
  • 清洁机器人从“看到垃圾”到“预判污染”:技术如何演变?
  • Ubuntu24.04的VSCode中安装MoonBit和MoonBit Toolchain(moon-pilot)
  • 开源的现代数据探索和可视化平台:Apache Superset 从 PyPI 安装 Superset
  • Axure日期日历高保真动态交互原型
  • linux的用户操作(详细介绍)
  • Exporters | 安装elasticsearch_exporter
  • 力扣301:删除无效的括号
  • iostat 系统IO监控命令学习
  • AR技术赋能轨道交通培训:虚实结合提升学习效率
  • Kotlin Daemon 简介
  • 从零开始搞定类与对象(中)
  • AI 面试 vs 真人面试:破解企业招聘效率困局
  • 【STM32】GPIO的输入输出
  • 数据结构(2)
  • SpringBoot3.0+Vue3.0开源版考试系统
  • ubuntu22.04系统实践 linux基础入门命令(三) 用户管理命令
  • 抗辐照DCDC与MCU在核环境监测设备中的集成应用
  • Jwts用于创建和验证 ​​JSON Web Token(JWT)​​ 的开源库详解
  • 【MATLAB例程】水下AUV自主导航定位例程,定位使用TDOA(到达时间差),适用于三维环境,附代码下载链接
  • MySQL详解
  • ICCV 2025|单视频生成动态4D场景!中科大微软突破4D生成瓶颈,动画效果炸裂来袭!
  • Linux下载安装mysql,客户端(Navicat)连接Linux中的mysql
  • 消防器材检测数据集介绍-9,600 张图片 智慧安防系统 建筑施工安全监管 AI 消防巡检机器人 自动审核系统 公共场所安全监测
  • 【核心技术二】Uvicorn:高性能 ASGI 服务器
  • React Hooks 原理深度解析与最佳实践
  • 在CentOS 7上安装配置MySQL 8.0完整指南
  • JVM-垃圾回收器与内存分配策略详解