在CentOS和Ubuntu上,一键部署MySQL可以通过脚本或Docker实现。以下是几种常用方法:
一、使用官方脚本(Ubuntu/Debian)
1. 下载并运行MySQL官方安装脚本
# 下载MySQL APT仓库配置包
wget https://dev.mysql.com/get/mysql-apt-config_0.8.24-1_all.deb
# 安装配置包(交互式选择MySQL版本)
sudo dpkg -i mysql-apt-config_0.8.24-1_all.deb
# 更新包列表并安装MySQL
sudo apt update
sudo apt install -y mysql-server
# 安全配置(可选)
sudo mysql_secure_installation
二、使用自动化脚本(CentOS/Ubuntu通用)
1. 创建一键安装脚本 install_mysql.sh
#!/bin/bash
# 检测系统类型
if [ -f /etc/redhat-release ]; then
# CentOS/RHEL
echo "检测到CentOS/RHEL系统"
# 安装MySQL 8.0
sudo yum install -y https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
sudo yum install -y mysql-community-server
# 启动服务
sudo systemctl start mysqld
sudo systemctl enable mysqld
elif [ -f /etc/lsb-release ]; then
# Ubuntu/Debian
echo "检测到Ubuntu/Debian系统"
# 安装MySQL
sudo apt update
sudo apt install -y mysql-server
# 启动服务
sudo systemctl start mysql
sudo systemctl enable mysql
else
echo "不支持的系统"
exit 1
fi
# 获取初始密码(仅CentOS MySQL 8.0需要)
if [ -f /var/log/mysqld.log ]; then
TEMP_PASS=$(sudo grep 'temporary password' /var/log/mysqld.log | awk '{print $NF}')
echo "临时密码: $TEMP_PASS"
fi
echo "MySQL安装完成!"
2. 执行脚本
chmod +x install_mysql.sh
sudo ./install_mysql.sh
三、使用Docker部署(最快捷)
1. 安装Docker(如果未安装)
# 通用Docker安装脚本
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
2. 一键运行MySQL容器
# 最新版MySQL
docker run -d
--name mysql-server
-e MYSQL_ROOT_PASSWORD=your_password
-e MYSQL_DATABASE=myapp
-p 3306:3306
-v mysql_data:/var/lib/mysql
mysql:8.0
# 或使用MySQL 5.7
docker run -d
--name mysql57
-e MYSQL_ROOT_PASSWORD=your_password
-p 3307:3306
mysql:5.7
四、使用Docker Compose(推荐生产环境)
1. 创建 docker-compose.yml
version: '3.8'
services:
mysql:
image: mysql:8.0
container_name: mysql
restart: always
environment:
MYSQL_ROOT_PASSWORD: "StrongPassword123!"
MYSQL_DATABASE: "app_db"
MYSQL_USER: "app_user"
MYSQL_PASSWORD: "UserPassword123!"
ports:
- "3306:3306"
volumes:
- mysql_data:/var/lib/mysql
- ./my.cnf:/etc/mysql/conf.d/custom.cnf
command:
--default-authentication-plugin=mysql_native_password
--character-set-server=utf8mb4
--collation-server=utf8mb4_unicode_ci
volumes:
mysql_data:
2. 启动服务
docker-compose up -d
五、安全配置建议
安装后建议执行:
# 1. 运行安全脚本
sudo mysql_secure_installation
# 2. 创建新用户(通过MySQL客户端)
mysql -u root -p
-- 在MySQL中执行
CREATE USER 'username'@'%' IDENTIFIED BY 'StrongPassword!';
GRANT ALL PRIVILEGES ON *.* TO 'username'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;
六、验证安装
# 检查服务状态
sudo systemctl status mysql # Ubuntu
sudo systemctl status mysqld # CentOS
# 检查版本
mysql --version
# 连接测试
mysql -u root -p -e "SELECT VERSION();"
注意事项
- 云服务器安全组:确保开放3306端口(仅限必要IP)
- 密码强度:MySQL 8.0默认要求强密码
- 数据持久化:Docker部署务必挂载数据卷
- 备份:定期备份
/var/lib/mysql(原生安装)或Docker卷
根据需求选择合适的方法:
- 快速测试:使用Docker方案
- 生产环境:建议使用系统包安装或Docker Compose
- 自动化部署:使用Ansible等工具更佳
CLOUD技术笔记