奋斗
努力

阿里云轻量应用服务器配置mysql教程?

云计算

以下是在阿里云轻量应用服务器上配置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

按提示操作:

  1. 设置root密码(建议强密码)。
  2. 移除匿名用户(输入 Y)。
  3. 禁止远程root登录(输入 Y)。
  4. 移除测试数据库(输入 Y)。
  5. 重新加载权限表(输入 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. 阿里云安全组配置

  1. 登录阿里云控制台,进入轻量应用服务器管理页面。
  2. 找到服务器实例,进入 防火墙安全组 设置。
  3. 添加规则:允许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的安装和基础配置。根据实际需求调整用户权限和网络访问策略。

未经允许不得转载:云服务器 » 阿里云轻量应用服务器配置mysql教程?