最近申请了个Amazon free tier,拿到了一台一年免费的1核1G的EC 2,如果需要的可以点这里。勾选系统的时候没注意选成了Amazon Linux 2023版本,结果是真的有点小坑,感觉安装什么都不太方便(不知道是不是我没有掌握住他的精髓,大佬轻喷)。在这里就简单记录一下安装配置Mysql和Redis的过程。
在连接好了ssh以后就可以开始进行安装了,使用一些远程的连接软件使用密钥文件和IP或者直接在Amazon dashboard选择instance然后点击connect就可以连接到控制台。这里就不再赘述。
安装并配置Mysql
首先用系统自带的yum下载wget
sudo yum update
sudo yum install wget -y
然后我们通过wget来下载mysql的RPM文件,我下载的是9-3版本
sudo wget https://dev.mysql.com/get/mysql80-community-release-el9-3.noarch.rpm
然后我们需要下载dnf
sudo yum install dnf
然后我们就可以通过dnf来下载mysql的社区版服务器
sudo dnf install mysql80-community-release-el9-1.noarch.rpm -y
sudo dnf install mysql-community-server -y
然后我们就可以启动mysql服务了
sudo systemctl start mysqld
这个时候,我们应该是已经可以使用mysql命令访问mysql数据库了,但是,我们要重新设置mysql的访问密码,所以我们先打开my.cnf文件并且加入下面的内容。注意!这里有个大坑,这句话再重新设置密码以后记得删掉,要不然会影响后面的访问。
# 打开配置文件
sudo vi /etc/my.cnf
# 加入下面这一行
skip-grant-tables
重启mysql服务,然后我们就可以通过正常命令访问了,mysql启动!
sudo systemctl restart mysqld
# 连接mysql
mysql -uroot -p
然后就是进入mysql命令行后一些正常的sql指令,这里就不再赘述了。但是我想在这里再说一下远程连接的问题。首先,还是原来的配置文件my.cnf,打开方式同上,修改bind-address的值如下,如果没有就加入下面这一句话,意思是允许任意IP地址的人访问。
bind-address = 0.0.0.0
然后记得到AWS控制台设置安全组策略,在inbound中加入tcp 3306并允许所有人访问。
然后我们最好在mysql中创建一个root以外的用户,并且给他所有的访问权限
# username, password用你设置的替换,remote_host可以用%代表任意用户
CREATE USER 'username'@'remote_host' IDENTIFIED BY 'password';
# 这里根据mysql版本不同选择不同的命令
# MySQL 5.7 and Earlier
GRANT ALL PRIVILEGES ON *.* TO 'username'@'%' IDENTIFIED BY 'password';
# MySQL 8.0 and Later
CREATE USER 'username'@'%' IDENTIFIED BY 'password';
FLUSH PRIVILEGES;
然后我们就可以通过输入主机IP并设置端口为3306进行访问了。
安装Redis
这个总体来讲比mysql简单多了,首先用yum下载gcc
sudo yum install gcc
然后就是依次输入一下指令就可以完成安装了
wget http://download.redis.io/redis-stable.tar.gz
tar xvzf redis-stable.tar.gz
cd redis-stable
make
最后我们在redis-stable路径下通过下面指令就可以启动redis了
src/redis-server
# 如果想要在后台运行
src/redis-server
# 然后ctrl + c退出就行了,不放心可以用ps指令查一下是否在运行
ps
总而言之我感觉这个Amazon Linux对新手真的不是很友好,网上的中文信息也不是很多,希望这篇文章能给到大家一些帮助吧。