云端MySQL的安装及应用

本文涉及的产品
云数据库 RDS SQL Server,基础系列 2核4GB
云原生数据库 PolarDB 分布式版,标准版 2核8GB
RDS PostgreSQL Serverless,0.5-4RCU 50GB 3个月
推荐场景:
对影评进行热评分析
简介: 本场景介绍Linux下MySQL的安装部署及数据库表的增删改查操作。

云端MySQL的安装及应用

1.  创建资源

开始实验之前,您需要先创建实验相关资源。

  1. 在实验室页面,单击创建资源
  2. (可选)在实验室页面左侧导航栏中,单击云产品资源列表,可查看本次实验资源相关信息(例如IP地址、子用户信息等)。

说明:资源创建过程需要3~5分钟视资源不同开通时间有所差异,ACK等资源开通时间较长。完成实验资源的创建后,您可以在云产品资源列表查看已创建的资源信息,例如:子用户名称、子用户密码、AK ID、AK Secret、资源中的项目名称等。

实验环境一旦开始创建则进入计时阶段,建议学员先基本了解实验具体的步骤、目的,真正开始做实验时再进行创建。

资源创建成功,可在左侧的资源卡片中查看相关资源信息以及RAM子账号信息

2.  实验步骤

  1. 更新yum源。

执行如下命令,更新MySQL的yum源。

rpm -Uvh http://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm

yum源更新完成后的页面如图1所示。

图1 更新MySQL安装源

  1. 安装MySQL并查看版本。

2.1 执行如下命令,安装MySQL。

yum -y install mysql-community-server --nogpgcheck

2.2 执行成功上述命令后,继续在窗口执行MySQL版本检测命令:

mysql -V

上述两部操作执行完成后的页面如图2所示。

图2 安装M ySQL并检查版本

  1. 启动MySQL服务,并将其设置为开机自启动。

3.1 执行如下命令,启动MySQL。

systemctl start mysqld

3.2 执行如下命令,将MySQL设置为开机自启动:

systemctl enable mysqld

上述命令执行成功后的页面如图3所示。

图3 启动MySQL并将其设置为开机自启动

  1. 设置MySQL的root用户密码。

4.1 执行如下命令,获取root用户的初始密码。

grep 'temporary password' /var/log/mysqld.log

在返回结果中您可以查看到root用户的初始密码。

4.2 执行如下命令,使用root用户登录数据库。

mysql -uroot -p

4.3 在Enter password处输入上面查找到的密码,完成后成功进入MySQL操作界面。

4.4  执行如下命令,在MySQL操作窗口界面修改密码安全策略为低,使其只校验密码长度,要求至少8位。

set global validate_password_policy=0;

4.5  执行如下命令, 对root用户初始密码的修改,其中12345678为修改完成的新密码。此处的12345678可根据需要自行设置,本实验后续的操作中暂以它为例。

查看root用户初始密码并设置其新密码的操作过程如图4所示。

ALTER USER 'root'@'localhost' IDENTIFIED BY '12345678';

4.6 输入exit退出数据库操作界面。

exit

图4 查看root用户初始密码并设置新密码

  1. 设置MySQL默认字符集

5.1  执行如下命令,修改MySQL配置文件的命令。

vim /etc/my.cnf

5.2 主要进行两处修改。

在[mysqld]下添加:

default-storage-engine=INNODB
character-set-server=utf8
collation-server=utf8_general_ci

在[mysql]下添加下面语句,若无[mysql],请在配置文件尾部自动添加。

default-character-set=utf8

   配置文件的修改细节如图5所示。

图5 my.cnf配置文件修改细节

请注意:进入vim环境后,需要按键盘上的i键进入插入(编辑)模式,完成编辑后,需要先按键盘左上角的Esc键退出编辑模式,然后再输入:wq后回车,退出vim编辑环境。

5.3 修改完成后,保存退出。在命令行继续执行下列命令完成MySQL的重启工作。

systemctl restart mysqld
  1. 使用root用户登录数据库。

执行如下命令,以root用户身份登录到数据库。

mysql -uroot -p12345678
  1. 创建并显示数据库。

7.1 在MySQL命令行窗口中执行如下命令,创建借阅管理数据库。

create database 借阅管理;

注意:在MySQL中,每条命令的结尾都要加上分号。

7.2 为了验证数据库是否成功创建,可用如下命令查看已经创建的数据库是否存在。

show databases;

可以看到在当前数据库系统中共有五个数据库,分别为:information_schema ,mysql,performance_schema,sys,借阅管理,其中借阅管理是新建数据库,其它四个是系统自带数据库。

创建数据库并显示数据库的效果如图6所示。

图6 创建新数据库“借阅管理”并显示已有数据库

  1. 创建数据表。

8.1 请按照表1所示结构,在借阅管理数据库中创建读者表。

表1 读者表结构

字段名称

类型

大小

主键

空值

缺省值

学号

CHAR

10


姓名

CHAR

50



性别

CHAR

1


年龄

INT




专业

CHAR

10



注意:因为读者表是借阅管理数据库中的表,因此,在创建表之前请一定先使用use命令打开数据库借阅管理,具体命令如下:

use 借阅管理;

如果没有执行数据库打开命令,而直接创建表,则会出现“No database selected”的错误提示。

正确打开数据库后,请使用以下命令创建“读者”表:

create table 读者(
学号 char(10) not null primary key,
姓名 char(20) not null,
性别 char(1) not null default '男',
年龄 int not null default 18,
专业 char(20) not null );

上述创建错误及正确打开数据库并创建数据表的效果如图7所示。

图7 打开数据库并创建数据表的执行过程

8.2 使用show tables命令显示借阅管理数据库下的数据表,可以看到已经有读者表了,具体命令如下。

show tables;

执行上述命令后的页面如图8所示。

图8 打开借阅管理数据库并显示该库所包含的表

  1. 添加数据记录。

9.1 表2是需要插入的数据记录,使用MySQL命令将表2中的数据插入数据表读者中。

表2 读者表数据记录

学号

姓名

性别

年龄

专业

2013230001

吴西

18

计应

2013230002

杨七

22

计应

2013230003

周南

19

计应

2013230004

王天一

21

计应

2013230005

陈晴

17

计应

插入数据时可采用多条insert命令完成,也可使用一条insert命令完成多条记录插入,若采用第2种方案,则具体命令如下。

insert into 读者(学号, 姓名, 性别, 年龄, 专业) 
values('2013230001', '吴西', '男', 18, '计应'), 
('2013230002', '杨七', '男', 22, '计应'), 
('2013230003', '周南', '女', 19, '计应'), 
('2013230004', '王天一', '女', 21, '计应'),
('2013230005', '陈晴', '男', 17, '计应');

数据插入成功后的效果如图9所示。

图9 读者表中插入数据并成功的效果

9.2 插入成功后,可使用select命令对插入结果进行验证,具体命令如下。

select * from 读者;

执行验证后的效果如图10所示。

图10 读者表数据记录插入成功效果

  1. 更新数据记录。

更新要求:在读者表中完成如下更新操作。

请将姓名为“周南”和“陈晴”两位读者的专业更改为“科英”;

将所有读者的年龄加2岁。

10.1 数据更新要求一需要使用update命令,此处属于局部更新,即只更新部分记录,所以更新时需要加上条件。具体更新命令如下。

update 读者 set 专业='科英' where 姓名='周南' or 姓名='陈晴';

成功执行更新,并验证后的效果如图11所示。

图11 更新操作顺利执行并验证

10.2 数据更新要求二是对所有记录进行更新,因此在使用update时不必加上where条件,具体更新语句如下。

update 读者 set 年龄=年龄+2;

执行上述语句后的结果如图12所示。

图12 更新操作前后数据对比

  1. 查询数据记录。

查询要求:在“读者”表中完成如下查询操作。

查询“年龄”大于20岁的所有女学生。

查询姓名中包含“陈”且是“计应”专业的男生。

11.1 查询要求一对读者的年龄和性别进行查询与过滤,查询过滤要用到select语句,还需要加上特定条件,即年龄>20并且性别为女,具体语句如下。

select * from 读者 where 年龄>20 and 性别='女';

11.2 查询要求二是带有模式匹配的多条件查询,既要满足姓名中包含“陈”,又要满足专业为“科英”的条件要求,具体语句如下。

select * from 读者 where 姓名 like '%陈%' and 专业='科英';

注意:上述命令输入时要特别注意必须使用半角下的引号,否则就会报错。

执行完上述两个操作后的效果如图13所示。

图13 查询操作前后的数据对比

  1. 删除数据记录。

删除要求:在“读者”表中完成如下删除操作。

删除“学号”为“2013230004”的读者的信息

删除所有女读者的信息。

12.1 删除要求一是对特定读者进行删除,所以需要加上特定条件,即学号=“2013230004”,具体语句如下。

delete from 读者 where 学号='2013230004';

12.2 删除要求二是对一类信息进行删除,即性别=“女”的记录,具体语句如下.

delete from 读者 where 性别='女';

执行完上述两个操作后的效果如图14所示。

图14 删除操作前后数据对比

  1. 数据库导出。

数据库导出本质是对数据库进行备份或迁移。大多数情况下,导出的格式为sql,这样的sql可以被保存,也可以被移动到其他MySQL(甚至其他数据库管理系统中,如SQL Server)中,实现数据库的快速移植和保存。

返回Linux 界面,执行如下命令,将名为借阅管理的数据库备份到当前目录,备份名称为借阅管理.sql。界面显示Enterpassword,输入MySQL数据库的登录密码(此处为12345678)。根据备份的数据库大小,等待时间长短不同。完成后,使用命令 ls查看备份文件,界面查看到备份文件“借阅管理.sql”,完成备份。

mysqldump -uroot -p 借阅管理>借阅管理.sql
ls

完成备份后的效果如图15所示。

图15 数据库导出(备份)操作

  1. 数据库导入。

数据库导入是数据库导出的逆过程,目的是将保存的数据库备份文件(sql文件)恢复到当前数据库管理系统中,或者移植到新的数据库管理中。

返回Linux界面,执行如下命令,将借阅管理.sql导入一个新的数据库中,将数据库命名为借阅管理新。界面显示Enter password,输入MySQL数据库的登录密码(此处为12345678)。

特别注意:由于数据库系统中并没有借阅管理新这个数据库,所以,在导入数据前要先行创建数据库借阅管理新,否则系统会报错提示Unknown database 借阅管理新

14.1 进入MySQL,执行create建库命令,并使用show命令查看已经建好的数据库,前述操作过程如图16所示。

mysql -uroot -p12345678
create database 借阅管理新;
show databases;

图16 导入出错及新建数据库页面效果

14.2 返回到Linux界面执行如下命令:

mysql -uroot -p -D 借阅管理新<借阅管理.sql

说明:其中参数-D是指定数据库为借阅管理新。

14.3 进入MySQL,再利用下列命令查看导入的新数据库的具体内容。

use 借阅管理新;
show databases; 
select * from 读者;

上述操作的执行效果如图17所示。

图17 导入成功后的库表检测效果

3.  实验要求

  1. 请将上面实验的每一步截图,分别用e7-1.jpg、e7-2.jpg、……、e7-n.jpg保存,至少截取8张图片,并打包提交到学习平台上,压缩包格式统一为zip格式。
  2. 西安交通大学的同学,请将文件命名为“你的学号-db1.zip”;非西安交通大学的同学,请将文件命名为“你的学校-你的姓名-db1.zip”或“你的姓名-db1.zip”。
  3. 所有文档请于实验截止日期前提交。

实验链接:https://developer.aliyun.com/adc/scenario/fa5e626f2f5d4125998fa7bb5ea1e39f

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
16天前
|
存储 关系型数据库 MySQL
MySQL在企业内部应用场景有哪些
【10月更文挑战第17天】MySQL在企业内部应用场景有哪些
25 0
|
16天前
|
存储 关系型数据库 MySQL
介绍一下MySQL的一些应用场景
【10月更文挑战第17天】介绍一下MySQL的一些应用场景
66 0
|
21天前
|
关系型数据库 MySQL Linux
Docker安装Mysql5.7,解决无法访问DockerHub问题
当 Docker Hub 无法访问时,可以通过配置国内镜像加速来解决应用安装失败和镜像拉取超时的问题。本文介绍了如何在 CentOS 上一键配置国内镜像加速,并成功拉取 MySQL 5.7 镜像。
181 2
Docker安装Mysql5.7,解决无法访问DockerHub问题
|
5天前
|
关系型数据库 MySQL Linux
在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,并与使用 RPM 包安装进行了对比
本文介绍了在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,并与使用 RPM 包安装进行了对比。通过具体案例,读者可以了解如何准备环境、下载源码、编译安装、配置服务及登录 MySQL。编译源码安装虽然复杂,但提供了更高的定制性和灵活性,适用于需要高度定制的场景。
18 3
|
6天前
|
关系型数据库 MySQL Linux
在 CentOS 7 中通过编译源码安装 MySQL 数据库的详细步骤,并与使用 RPM 包安装进行了对比。
本文介绍了在 CentOS 7 中通过编译源码安装 MySQL 数据库的详细步骤,并与使用 RPM 包安装进行了对比。内容涵盖准备工作、下载源码、编译安装、配置服务、登录设置及实践心得,帮助读者根据需求选择最适合的安装方法。
15 2
|
8天前
|
存储 SQL 关系型数据库
2024Mysql And Redis基础与进阶操作系列(1)作者——LJS[含MySQL的下载、安装、配置详解步骤及报错对应解决方法]
Mysql And Redis基础与进阶操作系列(1)之[MySQL的下载、安装、配置详解步骤及报错对应解决方法]
|
8天前
|
关系型数据库 MySQL Linux
在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。
本文介绍了在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。同时,文章还对比了编译源码安装与使用 RPM 包安装的优缺点,帮助读者根据需求选择最合适的方法。通过具体案例,展示了编译源码安装的灵活性和定制性。
45 2
|
21天前
|
SQL Oracle 关系型数据库
安装最新 MySQL 8.0 数据库(教学用)
安装最新 MySQL 8.0 数据库(教学用)
93 4
|
22天前
|
架构师 关系型数据库 MySQL
MySQL最左前缀优化原则:深入解析与实战应用
【10月更文挑战第12天】在数据库架构设计与优化中,索引的使用是提升查询性能的关键手段之一。其中,MySQL的最左前缀优化原则(Leftmost Prefix Principle)是复合索引(Composite Index)应用中的核心策略。作为资深架构师,深入理解并掌握这一原则,对于平衡数据库性能与维护成本至关重要。本文将详细解读最左前缀优化原则的功能特点、业务场景、优缺点、底层原理,并通过Java示例展示其实现方式。
50 1
|
22天前
|
Ubuntu 关系型数据库 MySQL
Linux系统MySQL安装
【10月更文挑战第19天】本文介绍了在 Linux 系统上安装 MySQL 的步骤,包括安装前准备、安装 MySQL、启动 MySQL 服务、配置 MySQL 以及验证安装。适用于 Ubuntu/Debian 和 CentOS/Fedora 系统,提供了详细的命令示例。
116 1

相关产品

  • 云数据库 RDS MySQL 版