适用于 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;
📌 七、开放远程访问(可选)
- 修改绑定地址:
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
将:
bind-address = 127.0.0.1
改为:
bind-address = 0.0.0.0
- 授权远程用户:
CREATE USER 'testuser'@'%' IDENTIFIED BY '123456';
GRANT ALL PRIVILEGES ON testdb.* TO 'testuser'@'%';
FLUSH PRIVILEGES;
- 重启服务:
sudo systemctl restart mysql
- 检查防火墙是否允许 3306 端口:
sudo ufw allow 3306
📌 八、常见运维命令
操作 | 命令 |
---|---|
启动 MySQL | sudo systemctl start mysql |
停止 MySQL | sudo systemctl stop mysql |
重启 MySQL | sudo systemctl restart mysql |
查看状态 | sudo systemctl status mysql |
登录 MySQL | mysql -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 安全)"
📌 使用说明:
-
保存脚本
nano mysql_deploy.sh # 粘贴上面的内容,保存退出
-
赋予执行权限并运行
chmod +x mysql_deploy.sh ./mysql_deploy.sh