Solutions to AWS problems
1. get root privilege
sudo password root
su root
之后输入root密码后就可以使用
参考链接:https://www.bbsmax.com/A/MyJxvE7Vdn/
2. connect local host
用Xshell的时候直接用密钥连接,不需要再type密码,不然可能会报不必要的错
3. mysql安装没有root密码
卸载mysql https://medium.com/@srikar.appal/uninstall-mysql-from-ec2-6910c4597c6c
重新安装并获取密码 https://asvignesh.in/install-mysql-on-amazon-linux-in-aws-ec2/
sudo grep 'temporary password' /var/log/mysqld.log
4. ec2 mysql 连接navicat
首先 localhost采用EC2的公有 IPv4 地址而不是私有 IPv4 地址。
其次AWS的security group要添加相应的入站规则。3306是mysql的默认端口,底下的22是remote连接用的。
最后windows防火墙入站规则要添加3306port。
https://blog.csdn.net/yj19961126/article/details/81224107
以上是前期注意事项。
mysql的root是默认不允许远程访问的。首先创建一个新用户来实现远程访问。%代表可以被所有源访问。
CREATE USER 'aaa'@'%' IDENTIFIED BY 'password';
授予权限
GRANT ALL PRIVILEGES ON db_name.* TO 'aaa'@'%' WITH GRANT OPTION;
刷新权限
flush privileges;
尝试连接,如果不行再使用如下语句:
ALTER USER 'aaa'@'%' IDENTIFIED WITH mysql_native_password BY 'passwrod';
再次刷新权限
flush privileges;
如果还是没有连接成功,确认一下mysql的端口是否绑定在0.0.0.0。
netstat -anp|grep 3306
如果是127.0.0.1,更改bind-addrss。
https://stackoverflow.com/questions/9766014/connect-to-mysql-on-amazon-ec2-from-a-remote-server
5. 配置java版本
sudo alternatives --config java
6. 打开EC2端口
在安全设置打开EC2对应的安全组,添加入站规则。打开3306端口,http端口和3389端口。如果你的网址还是无法ping通,打开ICMP规则。
7. 查看防火墙
https://cloud.tencent.com/document/product/213/14639
进入root查看防火墙规则,腾讯云和AWS操作是一样的。可以参考。