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=3306

echo "=== 开始更新系统并安装 MySQL ==="
sudo apt update && sudo apt install -y mysql-server

echo "=== 启动 MySQL 并设置开机启动 ==="
sudo systemctl start mysql
sudo systemctl enable mysql

echo "=== 修改 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.cnf

echo "=== 设置 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 mysql

echo "=== 防火墙放行 ${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
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

The god of big data

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值