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

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.dtcms.com/a/314593.html

相关文章:

  • 0.08B参数以小博大:用小模型生成媲美GPT-4o的古典诗词
  • TCP 四次挥手详解
  • springboot博客实战笔记01
  • 常见的Prompt设计误区
  • Centos Docker 安装手册(可用)
  • Web开发系列-第15章 项目部署-Docker
  • windows小组件能清理吗
  • 银河麒麟V10一键安装DM8的脚本及高阶运维SQL分享
  • 微型导轨:3D打印设备精度平稳的关键应用
  • 【Spring AI快速上手 (二)】Advisor实现对话上下文管理
  • 零基础掌握 Scrapy 和 Scrapy-Redis:爬虫分布式部署深度解析
  • C++少儿编程(二十一)—软件执行流程
  • 【微实验】MATLAB频谱 三维可视化
  • 量化大型语言模型的评估
  • Flutter开发 MaterrialApp基本属性介绍
  • CSDN文章创作用法
  • sqli-labs:Less-26a关卡详细解析
  • sqli-labs:Less-27a关卡详细解析
  • UA 配置Https域名
  • AI赋能SEO关键词优化
  • k8s的毫核
  • DQL 超维分析 - 1 DQL 原理
  • 无公网环境下在centos7.9上使用kk工具部署k8s平台(amd64架构)
  • redis可视化工具汇总
  • Ubuntu系统VScode实现opencv(c++)图像二维直方图
  • 免费MCP: JSON 转 Excel MCP
  • N4语法书
  • 数据结构——图及其C++实现(1)概念、存储结构、遍历
  • 【09】C++实战篇——C++ 生成静态库.lib 及 C++调用lib,及实际项目中的使用技巧
  • 10.苹果ios逆向-FridaHook-ios中的算法-CCMD5