MySQL作为一种开源的关系型数据库管理系统,因其高性能、灵活性和易用性,在全球范围内得到了广泛的应用
无论是个人开发者还是大型企业,MySQL都是管理数据、构建应用的理想选择
本文旨在详细介绍如何在阿里云的服务器上安装和配置MySQL,帮助您快速搭建起数据库环境
一、准备工作 在开始安装MySQL之前,确保您已经完成了以下准备工作: 1.阿里云账号:确保您拥有一个有效的阿里云账号,并登录到阿里云控制台
2.ECS实例:在阿里云上创建并启动一台ECS(Elastic Compute Service)实例
选择适合您需求的实例规格、操作系统镜像(如CentOS或Ubuntu)以及网络配置
3.安全组配置:为ECS实例配置安全组规则,允许MySQL默认端口3306的入站访问
这是确保外部客户端能够连接到MySQL数据库的必要步骤
4.SSH访问:确保您可以通过SSH访问ECS实例,通常需要使用密钥对进行身份验证
二、选择操作系统并登录ECS实例 阿里云支持多种操作系统镜像,以下步骤以CentOS7和Ubuntu20.04为例进行说明
CentOS7 1.连接到ECS实例: 使用SSH客户端(如PuTTY或终端)连接到您的ECS实例
命令格式如下:
bash
ssh root@
2.更新软件包列表:
在安装任何新软件之前,建议先更新系统的软件包列表:
bash
yum update -y
Ubuntu20.04
1.连接到ECS实例:
同样使用SSH客户端连接到ECS实例:
bash
ssh ubuntu@ 首先,下载并添加MySQL Yum存储库:
bash
yum localinstall -y https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
2.安装MySQL服务器:
使用Yum安装MySQL服务器:
bash
yum install -y mysql-community-server
3.启动MySQL服务:
安装完成后,启动MySQL服务并设置开机自启:
bash
systemctl start mysqld
systemctl enable mysqld
4.获取临时root密码:
MySQL安装完成后,会在`/var/log/mysqld.log`文件中生成一个临时root密码 使用以下命令查找该密码:
bash
grep temporary password /var/log/mysqld.log
Ubuntu20.04
1.添加MySQL APT存储库:
MySQL官方也提供了一个APT存储库,便于在Ubuntu上安装MySQL 首先,下载并添加MySQL APT存储库的公钥和存储库配置文件:
bash
wget https://dev.mysql.com/get/mysql-apt-config_0.8.13-1_all.deb
sudo dpkg -i mysql-apt-config_0.8.13-1_all.deb
在安装过程中,选择MySQL Server8.0和其他需要的组件,然后接受默认的存储库配置
2.更新APT软件包列表:
添加存储库后,更新APT软件包列表:
bash
sudo apt update
3.安装MySQL服务器:
使用APT安装MySQL服务器:
bash
sudo apt install -y mysql-server
4.启动MySQL服务:
安装完成后,启动MySQL服务并设置开机自启:
bash
sudo systemctl start mysql
sudo systemctl enable mysql
5.获取临时root密码:
与CentOS类似,MySQL在Ubuntu安装后也会在日志文件中生成一个临时root密码 使用以下命令查找:
bash
sudo grep temporary password /var/log/mysqld.log
四、安全配置MySQL
无论使用哪种操作系统,安装完成后都需要进行安全配置,特别是修改root密码和配置用户权限
1.登录MySQL:
使用临时root密码登录MySQL:
bash
mysql -u root -p
2.运行安全脚本:
MySQL提供了一个安全安装脚本`mysql_secure_installation`,可以帮助您完成一系列安全配置 运行该脚本并按照提示操作:
sql
ALTER USER root@localhost IDENTIFIED BY NewStrongPassword!;
其中,`NewStrongPassword!`应替换为您设置的新密码 脚本还会提示您删除匿名用户、禁止root远程登录、删除测试数据库以及重新加载权限表等操作
3.创建新用户并授予权限:
根据需要,创建新用户并授予相应的数据库权限 例如,创建一个名为`dbuser`的用户,密码为`userpassword`,并授予其对`testdb`数据库的所有权限:
sql
CREATE USER dbuser@% IDENTIFIED BY userpassword;
GRANT ALL PRIVILEGES ON testdb. TO dbuser@%;
FLUSH PRIVILEGES;
五、测试连接
1.本地测试:
在ECS实例上,您可以使用`mysql`命令行工具测试与MySQL数据库的连接:
bash
mysql -u dbuser -p -h127.0.0.1
2.远程测试:
确保ECS实例的安全组规则已允许3306端口的入站访问,然后从远程计算机上测试