公司新上线的电商平台需要一个稳定可靠的数据库来支撑订单和用户数据,最常见也最实用的选择就是 MySQL。部署一台 MySQL 服务器并不复杂,只要按步骤来,基本一次就能跑起来。
安装前准备
系统推荐使用 CentOS 7 或 Ubuntu 20.04 这类长期支持版本。确保服务器能联网,关闭防火墙或开放 3306 端口,SELinux 也建议先设为 permissive 模式,避免权限问题干扰初期配置。
在 CentOS 上安装 MySQL
以 MySQL 官方 Yum 仓库为例,先下载并安装源包:
wget https://dev.mysql.com/get/mysql80-community-release-el7-7.noarch.rpm
sudo rpm -ivh mysql80-community-release-el7-7.noarch.rpm
sudo yum install mysql-server -y
安装完成后启动服务并设置开机自启:
sudo systemctl start mysqld
sudo systemctl enable mysqld
初始化安全配置
MySQL 安装后会生成临时 root 密码,用下面命令查看:
sudo grep 'temporary password' /var/log/mysqld.log
接着运行安全初始化脚本:
sudo mysql_secure_installation
这个脚本会让你重设 root 密码、删除匿名用户、禁止远程 root 登录、删除测试数据库并重新加载权限表。生产环境这一步不能跳。
配置远程访问(如需)
默认情况下 MySQL 只监听本地。如果应用服务器和数据库不在同一台机器,需要修改配置文件。
编辑 /etc/my.cnf 或 /etc/mysql/mysql.conf.d/mysqld.cnf,找到 bind-address:
bind-address = 0.0.0.0
然后登录 MySQL,给远程用户授权:
mysql -u root -p
CREATE USER 'admin'@'%' IDENTIFIED BY 'StrongPass123!';
GRANT ALL PRIVILEGES ON *.* TO 'admin'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;
调整基础配置参数
小内存服务器(比如 2GB)可以把 innodb_buffer_pool_size 设为 1G,避免内存溢出:
[mysqld]
innodb_buffer_pool_size = 1G
max_connections = 200
log-error=/var/log/mysqld.log
改完重启服务生效:
sudo systemctl restart mysqld
简单验证是否正常工作
可以用客户端连接测试,或者直接在服务器上执行:
mysql -u root -p -e "SHOW DATABASES;"
看到数据库列表输出,说明服务已就绪。接下来就可以导入业务数据或对接应用了。
实际运维中还会涉及备份、主从复制、监控等,但部署是第一步。把基础打牢,后续扩展才不容易翻车。