在阿里云服务器finalshell安装mysql
时间: 2025-05-31 10:52:41 浏览: 16
### 通过 FinalShell 在阿里云 ECS 上安装和配置 MySQL
#### 准备工作
在开始之前,确保已经完成以下准备工作:
1. 已经拥有阿里云 ECS 实例并已开通 CentOS 或其他 Linux 发行版操作系统。
2. 使用 FinalShell 远程连接到 ECS 实例,并具备管理员权限。
---
#### 安装 MySQL
以下是具体的操作流程:
##### 更新系统包
运行以下命令更新系统的软件包列表,以确保获取最新版本的依赖库:
```bash
sudo yum update -y
```
##### 添加 MySQL 的官方 Yum 源
下载并导入 MySQL 的官方 YUM 配置文件:
```bash
wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
sudo rpm -Uvh mysql80-community-release-el7-3.noarch.rpm
```
此操作会自动将 MySQL 的源添加到系统的 YUM 软件仓库中[^2]。
##### 安装 MySQL
使用 `yum` 命令安装 MySQL 数据库及其服务组件:
```bash
sudo yum install mysql-server -y
```
##### 启动 MySQL 并设置开机自启
启动 MySQL 服务并将该服务加入开机自启动队列:
```bash
sudo systemctl start mysqld
sudo systemctl enable mysqld
```
##### 查找初始密码
首次安装完成后,MySQL 默认创建了一个临时密码。可以通过查看日志找到它:
```bash
sudo grep 'temporary password' /var/log/mysqld.log
```
记录下返回的结果中的密码,用于后续登录数据库。
---
#### 配置 MySQL
##### 登录 MySQL
使用刚才查找到的临时密码登录 MySQL 控制台:
```bash
mysql -u root -p
```
输入密码后进入控制台。
##### 修改默认密码
为了提高安全性,建议立即更改默认密码。执行以下 SQL 命令来重设密码(假设新密码为 `MyNewPassw0rd!`):
```sql
ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPassw0rd!';
FLUSH PRIVILEGES;
```
##### 删除匿名用户
按照最佳实践,删除可能存在的匿名账户以增强安全性:
```sql
DELETE FROM mysql.user WHERE User='';
FLUSH PRIVILEGES;
```
##### 开启远程访问
如果需要从外部设备或宝塔面板管理 MySQL,则需授予特定用户的远程访问权限。例如,允许 `root` 用户从任意 IP 地址访问数据库:
```sql
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'MyNewPassw0rd!' WITH GRANT OPTION;
FLUSH PRIVILEGES;
```
注意:开启远程访问前,请确认已在阿里云的安全组策略中开放了 MySQL 所需的端口(通常是 3306),以便外网能够正常通信[^5]。
##### 编辑 MySQL 配置文件
编辑 `/etc/my.cnf` 文件,取消绑定地址限制,使 MySQL 可接受来自任何主机的请求:
```ini
[mysqld]
bind-address = 0.0.0.0
port = 3306
socket = /tmp/mysql.sock
character-set-server = utf8mb4
collation-server = utf8mb4_general_ci
```
保存修改后的配置文件并重启 MySQL 服务使其生效:
```bash
sudo systemctl restart mysqld
```
---
#### 测试连接
可以尝试从本地或其他机器测试是否能成功连接至服务器上的 MySQL 数据库。例如,利用命令行方式验证连通性:
```bash
mysql -h <your_server_ip> -P 3306 -u root -p
```
替换 `<your_server_ip>` 为实际的公网 IP 地址。
---
### 注意事项
1. 如果遇到防火墙阻止问题,可暂时禁用 SELinux 和 iptables 来排查原因:
```bash
sudo setenforce 0
sudo systemctl stop firewalld
```
2. 对于生产环境下的长期部署,应仔细调整安全规则而非完全关闭防护机制[^4]。
---
阅读全文
相关推荐
















