AWS新手求助:无法连接EC2实例,需了解MySQL数据库上传方法
解决EC2 SSH连接失败及MySQL部署问题
先搞定SSH连接失败的问题
你的核心问题是安全组里把SSH的端口设成了20,但EC2实例默认的SSH服务监听的是22端口,这直接导致你连不上命令行。按下面步骤修正:
- 登录AWS控制台,找到这个EC2实例对应的安全组
- 删除现有的「SSH - TCP - 端口20」规则,新增一条SSH规则:
- 类型选SSH,协议TCP,端口范围填22
- 源地址根据需求设置(优先填你本地的公网IP,嫌麻烦可以暂时用0.0.0.0/0,但生产环境别这么干)
- 保存规则后,用SSH命令重新连接,示例:
(注:不同系统的用户名不一样,Ubuntu用ssh -i "你的密钥对文件.pem" ec2-user@实例公网IPubuntu,Amazon Linux用ec2-user,CentOS用centos)
再部署MySQL并导入数据库
连接上EC2后,按以下步骤操作(以Amazon Linux 2为例):
1. 安装MySQL
sudo yum update -y sudo yum install mysql-server -y sudo systemctl start mysqld sudo systemctl enable mysqld
2. 初始化MySQL密码
- 查看系统生成的临时密码:
sudo grep 'temporary password' /var/log/mysqld.log - 登录MySQL并修改密码:
输入临时密码后,执行修改密码的SQL(密码要包含大小写、数字、特殊字符):mysql -uroot -pALTER USER 'root'@'localhost' IDENTIFIED BY '你的新密码';
3. 允许远程连接(如果需要从本地访问EC2上的MySQL)
登录MySQL后执行:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'你的本地IP' IDENTIFIED BY '你的密码'; FLUSH PRIVILEGES;
(别直接用%允许所有IP访问,生产环境风险太高)
4. 导入本地数据库文件
- 把本地的SQL导出文件传到EC2:
scp -i "你的密钥对文件.pem" 本地导出的.sql文件 ec2-user@实例公网IP:/home/ec2-user/ - 在EC2上创建数据库(如果还没建):
CREATE DATABASE 你的数据库名; - 导入数据:
mysql -uroot -p 你的数据库名 < /home/ec2-user/你的.sql文件
内容的提问来源于stack exchange,提问作者Rawand
相关产品推荐
相关产品推荐

