云端MySQL的安装及应用

本文涉及的产品
云数据库 RDS SQL Server,基础系列 2核4GB
RDS SQL Server Serverless,2-4RCU 50GB 3个月
推荐场景:
云原生数据库 PolarDB 分布式版,标准版 2核8GB
简介: 本场景介绍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

相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
10天前
|
关系型数据库 MySQL 数据库
【MySQL基础篇】MySQL概述、Windows下载MySQL8.0超详细图文安装教程
在这一章节,主要介绍两个部分,数据库相关概念及MySQL数据库的介绍、下载、安装、启动及连接。接着,详细描述了MySQL 8.0的版本选择与下载,推荐使用社区版(免费)。安装过程包括自定义安装路径、配置环境变量、启动和停止服务、以及客户端连接测试。此外,还提供了在同一台电脑上安装多个MySQL版本的方法及卸载步骤。最后,解释了关系型数据库(RDBMS)的特点,即基于二维表存储数据,使用SQL语言进行操作,格式统一且便于维护。通过具体的结构图展示了MySQL的数据模型,说明了数据库服务器、数据库、表和记录之间的层次关系。
【MySQL基础篇】MySQL概述、Windows下载MySQL8.0超详细图文安装教程
|
3天前
|
NoSQL 关系型数据库 Redis
《docker高级篇(大厂进阶):1.Docker复杂安装详说》包括:安装mysql主从复制、安装redis集群
《docker高级篇(大厂进阶):1.Docker复杂安装详说》包括:安装mysql主从复制、安装redis集群
38 14
|
16天前
|
关系型数据库 MySQL 数据库
docker高级篇(大厂进阶):安装mysql主从复制
docker高级篇(大厂进阶):安装mysql主从复制
92 24
|
6天前
|
安全 关系型数据库 MySQL
Windows Server 安装 MySQL 8.0 详细指南
安装 MySQL 需要谨慎,特别注意安全配置和权限管理。根据实际业务需求调整配置,确保数据库的性能和安全。
43 9
|
10天前
|
NoSQL 关系型数据库 MySQL
Linux安装jdk、mysql、redis
Linux安装jdk、mysql、redis
111 7
|
1天前
|
关系型数据库 MySQL 应用服务中间件
《docker基础篇:8.Docker常规安装简介》包括:docker常规安装总体步骤、安装tomcat、安装mysql、安装redis
《docker基础篇:8.Docker常规安装简介》包括:docker常规安装总体步骤、安装tomcat、安装mysql、安装redis
17 7
|
2月前
|
关系型数据库 MySQL Java
MySQL索引优化与Java应用实践
【11月更文挑战第25天】在大数据量和高并发的业务场景下,MySQL数据库的索引优化是提升查询性能的关键。本文将深入探讨MySQL索引的多种类型、优化策略及其在Java应用中的实践,通过历史背景、业务场景、底层原理的介绍,并结合Java示例代码,帮助Java架构师更好地理解并应用这些技术。
55 2
|
2月前
|
SQL 关系型数据库 MySQL
go语言数据库中mysql驱动安装
【11月更文挑战第2天】
74 4
|
2月前
|
关系型数据库 MySQL Linux
在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,并与使用 RPM 包安装进行了对比
本文介绍了在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,并与使用 RPM 包安装进行了对比。通过具体案例,读者可以了解如何准备环境、下载源码、编译安装、配置服务及登录 MySQL。编译源码安装虽然复杂,但提供了更高的定制性和灵活性,适用于需要高度定制的场景。
128 3
|
2月前
|
关系型数据库 MySQL Linux
在 CentOS 7 中通过编译源码安装 MySQL 数据库的详细步骤,并与使用 RPM 包安装进行了对比。
本文介绍了在 CentOS 7 中通过编译源码安装 MySQL 数据库的详细步骤,并与使用 RPM 包安装进行了对比。内容涵盖准备工作、下载源码、编译安装、配置服务、登录设置及实践心得,帮助读者根据需求选择最适合的安装方法。
123 2

相关产品

  • 云数据库 RDS MySQL 版