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

在阿里云轻量应用服务器(LightHouse)上配置 MySQL 是一个常见的需求,适用于搭建网站、应用后端等场景。以下是详细的配置步骤,以 Ubuntu 系统 为例(也适用于 CentOS,但命令略有不同):


✅ 一、准备工作

  1. 登录轻量应用服务器

    • 使用 SSH 登录你的轻量服务器:
      ssh root@你的服务器公网IP
    • 默认用户名是 root,密码是你设置的或阿里云生成的。
  2. 更新系统包

    sudo apt update && sudo apt upgrade -y

✅ 二、安装 MySQL

Ubuntu 系统安装 MySQL

sudo apt install mysql-server -y

安装完成后,启动并设置开机自启:

sudo systemctl start mysql
sudo systemctl enable mysql

注意:Ubuntu 20.04+ 默认安装的是 MySQL 8.0。


✅ 三、安全初始化(推荐)

运行安全配置脚本:

sudo mysql_secure_installation

根据提示设置:

  • 设置 root 密码
  • 移除匿名用户
  • 禁止 root 远程登录
  • 删除测试数据库
  • 重新加载权限

✅ 四、配置远程访问(可选)

默认 MySQL 只允许本地连接。如需从外部连接(如本地程序、Navicat 连接),需做以下配置:

1. 修改 MySQL 配置文件

编辑 MySQL 配置文件:

sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf

找到 bind-address,将其改为:

bind-address = 0.0.0.0

或者注释掉这一行(效果等同于允许所有绑定)。

保存并退出(Ctrl+OEnterCtrl+X)。

2. 重启 MySQL

sudo systemctl restart mysql

3. 创建远程访问用户(推荐)

登录 MySQL:

sudo mysql -u root -p

创建一个允许远程连接的用户(例如用户名 myuser,密码 mypass123):

CREATE USER 'myuser'@'%' IDENTIFIED BY 'mypass123';
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;

⚠️ 注意:'%' 表示允许从任意 IP 连接,生产环境建议限制为特定 IP。

退出 MySQL:

EXIT;

✅ 五、配置阿里云安全组(关键!)

登录 阿里云轻量应用服务器控制台

  1. 进入你的实例详情页
  2. 找到「防火墙」或「安全组」设置
  3. 添加规则:
    • 协议类型:TCP
    • 端口:3306
    • 源地址:0.0.0.0/0(或限制为你的 IP)
    • 描述:MySQL

🔐 生产环境建议只放行可信 IP。


✅ 六、测试连接

使用本地数据库工具(如 Navicat、DBeaver、MySQL Workbench)连接:

  • 主机:你的服务器公网 IP
  • 端口:3306
  • 用户名:myuser
  • 密码:mypass123

✅ 七、(可选)设置开机自启 & 监控

确保 MySQL 开机自启(前面已设置):

sudo systemctl enable mysql

查看状态:

sudo systemctl status mysql

✅ 八、常见问题排查

问题 解决方法
连接被拒绝 检查 bind-address、防火墙、安全组
用户权限不足 使用 GRANT ALLFLUSH PRIVILEGES
MySQL 未运行 systemctl status mysql 查看日志
密码错误 使用 ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码'; 修改

✅ 九、其他系统(CentOS)

如果你使用的是 CentOS 系统,安装命令为:

sudo yum install mysql-server -y
sudo systemctl start mysqld
sudo systemctl enable mysqld

后续步骤类似。


✅ 总结

你已经成功在阿里云轻量服务器上配置了 MySQL,支持本地和远程访问。记得:

  • 定期备份数据
  • 避免使用 root 远程连接
  • 设置强密码
  • 限制安全组访问 IP

如需一键脚本或 Docker 部署方式,也可以告诉我,我可以提供更高级的方案。

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