以下是在阿里云轻量应用服务器上配置MySQL的详细步骤,分为安装、基本配置和安全设置几个部分:
1. 安装MySQL
Ubuntu/Debian系统
# 更新软件包列表
sudo apt update
# 安装MySQL Server
sudo apt install mysql-server -y
# 安装完成后启动服务
sudo systemctl start mysql
sudo systemctl enable mysql # 设置开机自启
CentOS系统
# 添加MySQL YUM仓库
sudo rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
# 安装MySQL Server
sudo yum install mysql-community-server -y
# 启动服务
sudo systemctl start mysqld
sudo systemctl enable mysqld
2. 初始安全配置
运行安全脚本,设置root密码并移除不安全配置:
sudo mysql_secure_installation
按提示操作:
- 设置root密码(建议强密码)。
- 移除匿名用户(输入
Y)。 - 禁止远程root登录(输入
Y)。 - 移除测试数据库(输入
Y)。 - 重新加载权限表(输入
Y)。
3. 登录MySQL
# 使用root用户登录
sudo mysql -u root -p
输入设置的密码后进入MySQL命令行。
4. 创建新用户和数据库(可选)
-- 创建数据库
CREATE DATABASE mydatabase;
-- 创建用户并设置密码
CREATE USER 'myuser'@'localhost' IDENTIFIED BY 'StrongPassword123!';
-- 授予用户对数据库的全部权限
GRANT ALL PRIVILEGES ON mydatabase.* TO 'myuser'@'localhost';
-- 刷新权限
FLUSH PRIVILEGES;
-- 退出
EXIT;
5. 允许远程访问(按需配置)
默认情况下MySQL仅允许本地连接。如需远程访问:
-- 修改用户允许从任意IP连接(替换IP为具体地址)
CREATE USER 'myuser'@'%' IDENTIFIED BY 'StrongPassword123!';
GRANT ALL ON mydatabase.* TO 'myuser'@'%';
FLUSH PRIVILEGES;
修改MySQL配置文件:
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf # Ubuntu/Debian
# 或
sudo nano /etc/my.cnf # CentOS
找到 bind-address 并改为:
bind-address = 0.0.0.0
重启MySQL:
sudo systemctl restart mysql # Ubuntu/Debian
sudo systemctl restart mysqld # CentOS
6. 防火墙配置
确保服务器防火墙放行MySQL端口(默认3306):
# Ubuntu/Debian (ufw)
sudo ufw allow 3306/tcp
# CentOS (firewalld)
sudo firewall-cmd --add-port=3306/tcp --permanent
sudo firewall-cmd --reload
7. 阿里云安全组配置
- 登录阿里云控制台,进入轻量应用服务器管理页面。
- 找到服务器实例,进入 防火墙 或 安全组 设置。
- 添加规则:允许TCP协议,端口3306,来源IP(如允许所有填
0.0.0.0/0,但建议限制为特定IP)。
常见问题
- 连接失败:检查防火墙、安全组、MySQL用户权限及
bind-address。 - MySQL 8.0默认加密方式:旧客户端可能需调整:
ALTER USER 'myuser'@'%' IDENTIFIED WITH mysql_native_password BY 'password';
通过以上步骤,您可以在阿里云轻量应用服务器上完成MySQL的安装和基础配置。根据实际需求调整用户权限和网络访问策略。
云服务器