简介:本文详细讲解轻量应用服务器安装MySQL的完整流程,涵盖环境准备、安装配置、安全优化及性能调优,帮助开发者高效完成数据库部署。
轻量应用服务器(Lightweight Application Server)是为中小型应用设计的云服务器,其核心优势在于资源弹性与成本优化。在安装MySQL前,需根据业务场景选择合适的配置:
MySQL对Linux系统支持最佳,推荐以下发行版:
通过SSH连接服务器后,执行cat /etc/os-release确认系统版本,使用free -h和df -h检查内存与磁盘空间。
以Ubuntu 20.04为例,执行以下步骤:
# 更新软件包索引sudo apt update# 安装MySQL服务器sudo apt install mysql-server -y# 启动服务并设置开机自启sudo systemctl start mysqlsudo systemctl enable mysql
CentOS系统使用yum安装:
sudo yum install mysql-server -ysudo systemctl start mysqldsudo systemctl enable mysqld
运行mysql_secure_installation脚本完成安全配置:
sudo mysql_secure_installation
按提示完成以下操作:
默认情况下MySQL仅允许本地连接,需修改配置文件/etc/mysql/mysql.conf.d/mysqld.cnf(Ubuntu)或/etc/my.cnf(CentOS):
[mysqld]bind-address = 0.0.0.0 # 允许所有IP访问(生产环境建议指定IP)
创建远程访问用户并授权:
CREATE USER 'remote_user'@'%' IDENTIFIED BY 'StrongPassword123!';GRANT ALL PRIVILEGES ON *.* TO 'remote_user'@'%' WITH GRANT OPTION;FLUSH PRIVILEGES;
根据服务器内存调整innodb_buffer_pool_size参数(通常设为总内存的50%-70%):
[mysqld]innodb_buffer_pool_size = 2G # 4G内存服务器示例
启用二进制日志用于时间点恢复:
[mysqld]log_bin = /var/log/mysql/mysql-bin.logexpire_logs_days = 7max_binlog_size = 100M
配置自动备份(使用mysqldump):
# 创建备份脚本/backup/mysql_backup.sh#!/bin/bashTIMESTAMP=$(date +%Y%m%d_%H%M%S)BACKUP_DIR="/backup/mysql"mkdir -p $BACKUP_DIRmysqldump -u root -p'YourPassword' --all-databases > $BACKUP_DIR/full_backup_$TIMESTAMP.sqlfind $BACKUP_DIR -name "*.sql" -mtime +30 -exec rm {} \;
在云服务器控制台配置安全组规则,仅开放必要端口:
若遇到依赖错误,执行:
# Ubuntusudo apt --fix-broken install# CentOSsudo yum clean allsudo yum makecache
检查防火墙设置:
# Ubuntusudo ufw allow 3306/tcp# CentOSsudo firewall-cmd --permanent --add-port=3306/tcpsudo firewall-cmd --reload
使用以下命令监控MySQL状态:
-- 查看当前连接数SHOW STATUS LIKE 'Threads_connected';-- 查看慢查询SELECT * FROM mysql.slow_log ORDER BY start_time DESC LIMIT 10;
主库配置:
[mysqld]server-id = 1log_bin = mysql-binbinlog_format = ROW
从库配置:
[mysqld]server-id = 2relay_log = mysql-relay-binread_only = 1
执行复制命令:
CHANGE MASTER TOMASTER_HOST='master_ip',MASTER_USER='repl_user',MASTER_PASSWORD='password',MASTER_LOG_FILE='mysql-bin.000001',MASTER_LOG_POS=154;START SLAVE;
使用Docker快速部署MySQL:
docker run --name mysql-server \-e MYSQL_ROOT_PASSWORD=strongpassword \-e MYSQL_DATABASE=app_db \-e MYSQL_USER=app_user \-e MYSQL_PASSWORD=userpass \-p 3306:3306 \-v /data/mysql:/var/lib/mysql \-d mysql:8.0
通过以上步骤,开发者可在轻量应用服务器上高效部署MySQL,既满足开发测试需求,也能支撑中小型生产环境。实际部署时需根据业务特点调整配置参数,持续优化以获得最佳性能。