10分钟

任务2 在CVM中安装MySQL

任务目的

在CVM中安装MySQL,任务包含:

1.安装MySQL,包括配置腾讯yum源并且选择MySQL 5.7版本进行安装;

2.修改MySQL初始密码,包括获取默认初始密码并更改。

任务步骤

1.安装MySQL

  • 首先前往MySQL Yum Repository官网下载对应版本MySQL yum源,由于本实验中CVM镜像使用的是CentOS 7版本,这里选择第二个,点击【Download】进入下载页面。
前往官网下载
  • 进入下载页面后,由于默认下载需要登录,这里选择直接下载,右键【No thanks,just start my download】,选择【Copy link address】(复制对应下载链接,地址链接内容与左下方蓝框内网址一致)。
获取下载链接
  • 回到之前登录的在线终端中,输入如下命令下载该rpm文件(wget后的链接为上一步中复制的链接),下载完成后可以使用ls -l命令查看下载后的文件,下载完成后效果如下图所示。
wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
下载rpm文件
  • 在终端中输入如下命令并执行,安装刚下好的rpm包。
yum localinstall mysql80-community-release-el7-3.noarch.rpm -y
  • 安装完成后,可以通过yum repolist all | grep mysql命令可以用来查看MySQL当前默认安装版本。如下图所示,当前默认为“mysql80-community/x86_64”,版本对应MySQL 8.0版本。(由于本实验所用环境为MySQL 5.7版本,因此后续还需修改对应版本配置,将默认版本更换为5.7。)
查看安装版本
  • 由于从MySQL官方yum下载MySQL速度过慢,还需要配置腾讯yum源以加快MySQL下载速度。输入如下命令对mysql-community.repo文件进行编辑。
vim /etc/yum.repos.d/mysql-community.repo
  • 进入后找到mysql57-community所处代码块区域,按下i键进入编辑模式,将baseurl替换为https://mirrors.cloud.tencent.com/mysql/yum/mysql57-community-el7/,如下图所示。
更换腾讯yum源
  • 替换baseurl后,还需配置MySQL的默认安装版本。将mysql57-community所处代码块区域中enable值修改为1,将mysql80-community所处代码块区域中enable值修改为0,如下图所示。
配置版本
  • 更改完成后,按下Esc键退出编辑模式,输入:wq,然后按下enter键保存文件修改并退出。
  • 再次使用yum repolist all | grep mysql命令,查看修改后的MySQL的默认安装版本,可以看到默认安装版本已替换为“mysql57-community/x86_64”。
变更版本
  • 配置版本完成后,输入如下命令以进行MySQL的安装。
yum install mysql-community-server -y
  • 待安装完成后,输入如下命令以查看MySQL是否安装以及查看MySQL对应的版本。
mysql --version
安装完成

2.修改MySQL初始密码

  • 安装完成后,还需要修改MySQL的初始密码方便以后登录使用。输入如下命令,启动MySQL服务。
systemctl start mysqld.service
  • 使用如下命令查看MySQL服务开启状态,开启成功将显示为active状态,如下图所示。
systemctl status mysqld.service
查看状态
  • 开启服务后,使用如下命令获取MySQL的初始密码。
grep 'temporary password' /var/log/mysqld.log
  • 复制所获取的密码,并使用mysql -u root -p命令进行登录,需要注意的是输入密码的时候,密码并不明文显示,建议使用shift+insert按键直接粘贴所复制的密码,然后按下回车键登录,如下图所示。
登录MySQL
  • 登录成功进入MySQL命令行模式后,为方便记忆,需要对root账户密码进行更改。执行如下命令以更改初始密码,其中MyNewPass4!请替换为自己的root账户对应密码。(注意事项:密码需要至少设置8位,至少包含一个特殊字符、一个大写字母、一个小写字母以及一个数字)
ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass4!';