阿里轻量级服务器安装mysql?

在阿里云轻量级服务器上安装 MySQL 是一个常见的需求,适用于搭建网站、数据库服务等。以下是针对 Linux 系统(以 CentOS 7/8 或 Ubuntu 20.04+ 为例) 在阿里云轻量级服务器上安装 MySQL 的完整步骤。


🧾 准备工作

  1. 登录你的阿里云轻量级服务器(通过 SSH)。
  2. 确保系统已更新:
    • CentOS:
      sudo yum update -y
    • Ubuntu:
      sudo apt update && sudo apt upgrade -y

✅ 安装 MySQL(推荐使用官方 YUM/Apt 源)

🔹 方法一:CentOS 7 / CentOS 8 安装 MySQL

1. 添加 MySQL 官方 YUM 源

sudo rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-el7-7.noarch.rpm

注意:根据你的系统版本选择合适的源,例如 el7 对应 CentOS 7,el8 对应 CentOS 8。

2. 安装 MySQL 服务器

sudo yum install mysql-server -y

3. 启动 MySQL 并设置开机自启

sudo systemctl start mysqld
sudo systemctl enable mysqld

4. 获取临时密码并登录 MySQL

MySQL 安装后会生成一个临时密码:

sudo grep 'temporary password' /var/log/mysqld.log

输出示例:

A temporary password is generated for root@localhost: abcdefg123!

然后运行安全初始化:

sudo mysql_secure_installation

按照提示修改 root 密码,并进行安全设置。


🔹 方法二:Ubuntu 安装 MySQL

1. 安装 MySQL 服务器

sudo apt install mysql-server -y

2. 启动 MySQL 并设置开机启动

Ubuntu 默认自动启动,你可以检查状态:

sudo systemctl status mysql

3. 运行安全初始化

sudo mysql_secure_installation

按提示设置 root 密码和相关安全选项。


🔒 配置远程访问(可选)

默认情况下,MySQL 只允许本地访问。如果想从外部连接(如本地电脑的 Navicat、DBeaver 等工具),需要配置如下:

1. 修改 MySQL 配置文件

  • CentOS:/etc/my.cnf
  • Ubuntu:/etc/mysql/mysql.conf.d/mysqld.cnf

将以下行注释或改为允许任意 IP 访问:

bind-address = 0.0.0.0

保存并重启 MySQL:

sudo systemctl restart mysqld    # CentOS
sudo systemctl restart mysql     # Ubuntu

2. 创建远程用户并授权

mysql -u root -p

执行以下 SQL 命令:

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

3. 开放防火墙端口(CentOS)

sudo firewall-cmd --permanent --add-port=3306/tcp
sudo firewall-cmd --reload

4. 阿里云控制台开放安全组规则

  • 登录 阿里云控制台
  • 找到你的轻量级服务器,进入“防火墙”设置
  • 添加一条规则,允许 TCP:3306 端口入方向访问

🧪 测试连接

可以使用数据库客户端工具(如 Navicat、DBeaver、MySQL Workbench)测试是否能远程连接。


📌 常见问题

问题 解决方法
无法远程连接 检查安全组、防火墙、bind-address配置
初始化密码错误 查看日志 /var/log/mysqld.log
安装失败 检查网络连接,更换镜像源

如果你有具体的操作环境(比如是 CentOS 还是 Ubuntu,哪个版本),我可以提供更精确的命令。欢迎继续提问!

未经允许不得转载:秒懂云 » 阿里轻量级服务器安装mysql?