《冬季实战营第三期:MySQL数据库进阶实战》实践报告

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
数据管理 DMS,安全协同 3个实例 3个月
推荐场景:
学生管理系统数据库
简介: 本期训练营主要讲解MySQL的安装,使用以及在云上部署数据库,搭建个人博客,增强用户对MySQL语句的使用理解,通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL。

DAY1 MySQL数据库快速部署实践

本实验提供一个Linux系统。首先,安装mysql;然后,执行mysql的常用操作;最后,学习基本的SQL语句。

MySQL安装与配置

在环境中安装MySQL
更新yum源
rpm -Uvh http://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm

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

查看MySQL版本号
mysql -V

启动mysql服务
systemctl start mysqld

设置开机自启
systemctl enable mysqld

查看/var/log/mysqld.log文件,获取root用户的初始密码
grep 'temporary password' /var/log/mysqld.log

root@localhost为初始密码

使用root权限登录账户
mysql -uroot -p

输入root账户的初始密码-如上

修改MySQL的root用户的初始密码。
set global validate_password_policy=0; #修改密码安全策略为低(只校验密码长度,至少8位)。

ALTER USER 'root'@'localhost' IDENTIFIED BY '12345678';//密码可修改强口令

授予root用户远程管理权限。
GRANT ALL PRIVILEGES ON . TO 'root'@'%' IDENTIFIED BY '12345678';密码同上

输入exit退出MySQL

使用root账户登录
mysql -uroot -p12345678

创建test数据库
create database test;

show databases;
可以看到三个数据库-information_schema ,mysql,performance_schema,sys,test

注意:每一个sql语句需要在末尾加上;(分号)

执行命令 use mysql;,连接 mysql 数据库。然后执行命令 show tables; ,查看 mysql 数据库中的数据表。使用命令 exit ,退出 MySQL 界面

返回 Linux 界面,执行如下命令,将名为 test 的数据库备份到当前目录的 test.sql。界面显示 Enter password,输入 MySQL 数据库的登录密码 12345678 。根据备份的数据库大小,等待时间长短不同。完成后,使用命令 ll 查看备份文件,界面查看到备份文件 test.sql ,完成备份。

mysqldump -uroot -p test >test.sql

ll //查看备份文件

返回 Linux 界面,执行如下命令,将 test.sql 导入数据库。界面显示 Enter password ,输入 MySQL 数据库的登录密码 12345678

说明:其中参数 -D 是指定数据库为test。

mysql -uroot -p -Dtest<test.sql

还有一种导入方法:输入命令:mysql -uroot -p12345678 ,进入 MySQL 数据库。输入 use test; ,连接数据库 test ,输入 source /root/test.sql; ,将 test.sql 导入数据库 test ,全部出现 Query OK ,则表示数据库导入成功

mysql -uroot -p12345678

use test;

source /root/test.sql;

常用SQL

show databases;是查看数据库列表

use test;使用当前数据库

show tables; 查看当前数据库下的数据表

执行命令 create table test1 (id int,name char(20)); ,创建一张表,表名为 test1 。test1 表有两列:id 和 name。其中,id 的数据类型为 int,name 的数据类型为 char,且字符长度为 20。

create table test1 (id int,name char(20));

语法:CREATE TABLE 表名称 (列名称1 数据类型,列名称2 数据类型,列名称3 数据类型,....);

执行命令 insert into test1 values(1,"zhangsan"); ,插入一条数据:此条数据的第一列 id 的值为1,第二列 name 的值为zhangsan。

insert into test1 values(1,"zhangsan");

语法:INSERT INTO 表名称 VALUES (值1, 值2,....);

执行命令 select * from test1; ,查看 test1 表中的全部数据信息。此时,用户可以查看到新插入的一行数据: id 的值为 1 , name 的值为 zhangsan 。

select * from test1;

语法1:SELECT * FROM 表名称; //查询表中的所有列的数据信息
语法2:SELECT 列名称 FROM 表名称; //查询表中的指定列的数据信息

执行命令 update test1 set name = "lisi" where id =1; ,更新 test1 表中的数据,也就是,将所有 id 为 1 的 name 值均修改为 lisi

update test1 set name = "lisi" where id =1;

select * from test1;

语法:UPDATE 表名称 SET 列名 = 值 WHERE 表名称 = 值;

执行命令 delete from test1 where id =1; ,删除 test1 表中,所有 id 值为 1 的数据

delete from test1 where id =1;

select * from test1;

语法:DELETE FROM 表名称 WHERE 列名称 = 值;

执行命令 drop table test1; 删除名为 test1 的数据表。

drop table test1;

show tables;

语法:DROP TABLE 表名称

执行命令 drop database test; ,删除名为 test 的数据库。

drop database test;

show databases;

语法:DROP DATABASE 数据库名称
DAY1 收获:MySQL日常运维管理,基本SQL语句的使用

DAY2 如何在云端创建MySQL数据库

阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务。基于阿里云分布式文件系统和SSD盘高性能存储,RDS支持MySQL、SQL Server、PostgreSQL和MariaDB TX引擎,并且提供了容灾、备份、恢复、监控、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。

image.png

开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。首先,远程登陆到 源数据库 ,查看源数据库中的信息。然后,登陆到阿里云管理控制台,建立目标数据库。最后,使用 数据传输 服务,实现ECS自建数据库迁移到目标数据库RDS。

现有数据库查看

切换至Web Terminal,远程登录到 云产品资源 中的 MySQL源数据库 ECS实例。

登录到ECS实例的MySQL数据库:

mysql -u root -p123456

查看源数据库bakery、其中的表customer和product,以及表中的数据

查看数据库信息:show databases;

切换数据库为bakery:use bakery;

查看表中数据:show columns from customer;

        show columns from product; 
        select * from customer;
        select * from product;

上云迁移

切换到远程桌面操作界面。

双击打开虚拟桌面 FireFox ESR浏览器,在RAM用户登录框中点击 下一步,复制 云产品资源 列表中 子用户密码 粘贴(lx shell粘贴快捷键ctrl+shift+v,其他地方粘贴是ctrl+v)到浏览器 RAM用户登录界面,即可登录当前子账号

顶部导航栏处点击【产品与服务】,在主页面的【数据库】条目下找到【云数据库RDS版】,点击进入阿里云RDS管理控制台。

点击左侧的【实例列表】,在实例列表页面,选择云产品资源提供的 地域,然后点击目标实例右侧的【管理】进入RDS实例的管理控制台

进入数据库账号创建页面:

在RDS实例的管理页面,点击左侧栏的【账号管理】,进入数据库账号管理页面

在【用户账号】页面,点击左侧的【创建账号】。

完成数据库账号创建:

1)数据库账号:请根据 输入框 下端的 命名规则 ,输入 数据库账号名称,例如:lab_user 。

2)账号类型:选择【普通账号】。

3)密码 :请根据 输入框 下端的 密码规则 ,输入 密码,例如:Passw0rd 。

4)确认密码:再次输入创建的密码。

5)完成如上信息后,点击【确定】

返回 账号管理 的 用户账号 ,查看到新建账号 lab_user 的 状态 为 已激活 。

进入数据库创建页面:

点击左侧栏的【数据库管理】,进入数据库管理页面。

在右侧的【数据库管理】页面,点击左上角的【创建数据库】,进入创建页面。

在弹出的创建页面中,添加如下信息:

1)数据库(DB)名称:请根据 输入框 下端的 命名规则 ,输入 数据库名称,例如:lab_db 。

2)支持字符集:默认设为 utf8 。

3)授权帐号:选择新建数据库账号,例如lab_user。

4)完成如上配置信息后,点击底部的【创建】,完成数据库的创建。

返回【账号管理】,在lab_user一栏点击修改权限。将当前用户对新建的lab_db数据库的权限修改为读写,并点击确定:

返回【数据库管理】等待1分钟左右,可以查看到数据库 lab_db 的 数据库状态 为 运行中 ,且 绑定账号 为 新建数据库账号 lab_user 。

进入数据传输服务DTS

1)复制下方地址,在FirzeFox浏览器打开新页签,粘贴并访问数据传输控制台。

注意:如果打开的页面为新版本则需要先点击页面右下角的返回旧版本按钮,这样才能够和下述手册内容一致。

https://dts.console.aliyun.com/

在提示对话框中,单击忽略。

在左侧控制台,单击数据迁移

在数据迁移页面,迁移任务列表选择华东1(杭州),单击配置迁移任务。

配置迁移任务,按照如下步骤,输入 源库信息 的配置信息

实例类型:选择 有公网IP的自建数据库 。
实例地区: 选择 云产品资源 中分配的 地域 ,例如:华东1 。
数据库类型:选择 MySQL 。
主机名或IP地址:输入 云产品资源 中分配的 MySQL源数据库 ECS实例的 弹性IP。
端口:使用默认端口号 3306
数据库账号:输入ECS上自建MySQL的 数据库账号 ,root;数据库密码:自建MySQL的访问密码,123456
完成如上配置后,点击右侧的 【测试连接】 ,测试自建MySQL数据库的连通性,若显示 测试通过 ,证明连接成功。否则,请检查如上配置信息是否正确。

完成 目标库信息 的配置信息:

1)实例类型:选择 RDS实例

2)实例地区:选择 实验资源 中分配的 地域 ,例如:华东1

3)RDS实例ID :选择 实验资源 中提供的 目标数据库 的 实例ID

4)数据库账号:输入RDS实例中新建的 数据库账号 lab_user ;数据库密码:新建数据库的密码 Passw0rd 。

5)完成如上配置后,点击右侧的 测试链接 ,测试RDS账号的连通性,若显示 测试通过 ,证明连接成功。否则,请检查如上配置信息是否正确。

6)完成如上的配置后,点击右下角的【 授权白名单并进入下一步 】。

配置迁移任务的 迁移类型及列表:

1)点击左侧 迁移对象 中的本地MySQL数据库中的bakery

2)点击 >

3)数据库 bakery 移动到 已选择对象 的列表中

4)完成如上配置后,点击右下角的【 预检查并启动】 。

等待30秒钟左右,完成预检查,检查结果为 预检查通过100% ,点击 【下一步】

说明:若预检查未通过,请根据错误提示和如上的操作步骤,核对迁移任务的配置是否正确。

此时,页面迁移任务的状态为 迁移中 ,等待3-4分钟,状态变为 已完成

数据库迁移结果确认

顶部导航栏处点击【产品与服务】,在主页面的【数据库】条目下找到【云数据库RDS版】,点击进入阿里云RDS管理控制台。

在 实例列表 界面中,点击右上角的【登录数据库】,进入数据库管理登录界面。

在弹出的页面中,输入如下的信息:

网络地址:端口:请输入 云产品资源 中,RDS 目标数据库 提供的 链接地址 以及端口号 3306。
例如:提供的RDS 链接地址为 rm-uf6l90d950j1o7890.mysql.rds.aliyuncs.com,则输入信息为:rm-uf6l90d950j1o7890.mysql.rds.aliyuncs.com:3306

用户名:输入新建数据库账号 lab_user

密码:输入新建数据库密码 Passw0rd
完成后,点击【登录】。(忽略RAM授权)

进入数据库管理页面,证明数据库迁移成功。

DAY2 收获:建立RDS数据库,数据库上云迁移

DAY3 基础学习之MySQL数据库基础

本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。

##数据库启动与连接

本小节主要介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL。

↑进入DMS如上节所示↑

数据库表操作

数据库表的基本操作,其中包括新增、删除、更新和重命名等。

在DMS控制台上方,选择创建好的数据库user_db,然后单击【SQL操作】 > 【SQL窗口】

使用CREATE TABLE语句创建一个数据表。将以下语句复制到SQLConsole页签中,然后单击【执行】。

CREATE TABLE USER (
user_id int(128) NOT NULL AUTO_INCREMENT,
name varchar(64) NOT NULL,
age int(11) DEFAULT NULL,
PRIMARY KEY (user_id)
) ENGINE=InnoDB
DEFAULT CHARACTER SET=utf8 COLLATE=utf8_general_ci;

语句解析:

CREATE TABLE USER:新表的名字,表名称在关键字CREATE TABLE后给出。

name varchar(64) NOT NULL,:列名name,类型varchar,长度限制64,此列不能为空。

PRIMARY KEY (user_id):设置USER表主键为user_id。

user_id int(128) NOT NULL AUTO_INCREMENT,:AUTO_INCREMENT通常用于主键,表示主键自增,数值会自动+1。

执行成功后,单击【刷新】查看创建的数据表。

使用ALTER TABLE语句更新数据表。将以下语句复制到SQLConsole页签中,然后单击执行。

在年龄age列后面,为USER表新增一列性别sex,0代表女,1代表男。

ALTER TABLE user ADD COLUMN sex tinyint(1) NOT NULL COMMENT 'sex,woman:0,man:1' AFTER age;

使用RENAME TABLE语句对数据表重命名。将以下语句复制到SQLConsole页签中,然后单击执行。

修改表名user为student。

RENAME TABLE USER TO student;

语句格式:

RENAME TABLE table_name_a TO table_name_b;

使用DROP TABLE语句删除数据表。将以下语句复制到SQLConsole页签中,然后单击执行。

注意:此操作不能撤销,请谨慎操作。

删除学生表。

DROP TABLE student;

DROP TABLE table_name;//语句格式

数据操作

介绍MySQL中常用的数据查询、删除、更新、插入等基本操作。

使用CREATE TABLE语句创建一个数据表。将以下语句复制到SQLConsole页签中,然后单击【执行】。
CREATE TABLE user (
id int(11) NOT NULL AUTO_INCREMENT COMMENT 'ID',
name varchar(32) DEFAULT NULL COMMENT 'name',
age int(11) DEFAULT NULL COMMENT 'age',
address varchar(32) DEFAULT NULL COMMENT 'address',
sex tinyint(1) DEFAULT NULL COMMENT 'sex,woman:0,man:1',
PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8

执行成功后,单击【刷新】查看创建的数据表

插入语句说明:

table_name(col_name,...)中的字段名列表必须和values(expr,...)字段值列表一致。

如果数据是字符型,必须使用单引号或者双引号。
被AUTO_INCREMENT标记的自动递增的主键,在插入数据时,可以不设置值。

将以下SQL语句复制到SQLConsole页签中,然后单击【执行】。

INSERT INTO USER

   (name, age, address, sex)

VALUES

   ('zhangsan', 21, 'jiangxi', 0),
   ('lisi', 22, 'hubei', 0),
   ('wangwu', 23, 'hunan', 0),
   ('lilei', 24, 'henan', 1),
   ('hanmeimei', 25, 'hebei', 1),
   ('xiaoming', 26, 'shandong', 1),
   ('xiaoli', 27, 'shanxi', 1) ;

查询数据

查询语句格式:

SELECT col_name,...
FROM table_name
WHERE where_condition
GROUP BY col_name,...
HAVING where_condition
ORDER BY col_name,...
LIMIT offset,row_count

将以下SQL语句复制到SQLConsole页签中,然后单击【执行】。

SELECT id,name,age,address,sex FROM user;

更新数据

更新语句格式:

UPDATE table_name SET col_name=expr,... WHERE where_condition

将以下SQL语句复制到SQLConsole页签中,然后单击【执行】。

UPDATE user SET age = 28,address = 'sichuan' WHERE name = 'xiaoming' ;

删除数据

删除语句格式:

DELETE FROM table_name WHERE where_condition

将以下SQL语句复制到SQLConsole页签中,然后单击【执行】。

DELETE FROM user WHERE name = 'xiaoming' ;

函数操作

介绍MySQL中常用的内置函数。

使用CREATE TABLE语句创建一个数据表。将以下语句复制到SQLConsole页签中,然后单击【执行】。

CREATE TABLE student_score(sid INT PRIMARY KEY NOT NULL, sname VARCHAR(30), sage INT, ssex VARCHAR(8), score INT(11));
insert into student_score(sid, sname, sage, ssex,score)
values (1001, 'xiaohua', 17,'0', 75),
(1002, 'xiaohong', 18,'0', 80),
(1003, 'wangwu', 18,'1', 90),
(1004, 'lisi', 17,'1', 68),
(1005, 'zhangsan', 19,'1', 73),
(1006, 'xiaohei', 19,'1', 100),
(1007, 'xiaoma', 20,'0', 77),
(1008, 'xiaoli', 17,'1', 82),
(1009, 'xiaobai', 19,'0', 88),
(1010, 'wentong', 18,'0', 53);

AVG()函数

SELECT avg(score) FROM student_score;

COUNT()函数

SELECT COUNT(*) FROM student_score;

MAX()函数

SELECT COUNT(*) FROM student_score;

MIN()函数

SELECT MIN(score) FROM student_score;

SUM()函数

SELECT SUM(score) FROM student_score;

组合查询

介绍如何使用GROUP BY、HAVING和ORDER BY等进行分组查询

使用CREATE TABLE语句创建数据表。将以下语句复制到SQLConsole页签中,然后单击【执行】。

CREATE TABLE student (
sid int(11) NOT NULL,
sname varchar(30) DEFAULT NULL,
sage int(11) DEFAULT NULL,
ssex varchar(8) DEFAULT NULL,
PRIMARY KEY (sid)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
insert into student(sid,sname,sage,ssex) values
(1005,'xiaohua',19,'0'),
(1004,'xiaohong',18,'0'),
(1003,'wangwu',18,'1'),
(1002,'lisi',17,'1'),
(1001,'zhangsan',18,'1');
CREATE TABLE sc (
sid int(11) NOT NULL,
cid int(11) NOT NULL,
score int(11) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
insert into sc(sid,cid,score) values
(1001,101,75),
(1001,102,85),
(1002,101,65),
(1002,102,95),
(1003,101,65),
(1003,102,95),
(1004,101,80),
(1004,102,80),
(1005,101,75),
(1005,102,85);
CREATE TABLE course (
cid int(11) NOT NULL,
cname varchar(30) DEFAULT NULL,
tid int(11) DEFAULT NULL,
PRIMARY KEY (cid)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
insert into course(cid,cname,tid) values
(102,'yuwen',2),
(101,'shuxue',1);
CREATE TABLE teacher (
tid int(11) NOT NULL,
tname varchar(30) DEFAULT NULL,
PRIMARY KEY (tid)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
insert into teacher(tid,tname) values
(2,'liulaoshi'),
(1,'wanglaoshi');

执行成功后,单击【刷新】查看创建的数据表

查询所有同学的学号和成绩。 将以下SQL语句复制到SQLConsole页签中,然后单击【执行】

使用WHERE s. sid = sc.sid 来消除笛卡尔积。

SELECT s.sid ,s.sname ,c.score FROM student AS s ,sc AS c WHERE s.sid = c.sid ;

查询语文成绩在80以上同学。 将以下SQL语句复制到SQLConsole页签中,然后单击【执行】。

SELECT a.score,

   b.cname,
   s.sname

FROM sc as a,

   course AS b,
   student AS s

WHERE a.cid= b.cid
AND s.sid= a.sid
AND a.cid= 102
AND a.score> 80

查询语文成绩比数学成绩高的同学。 将以下SQL语句复制到SQLConsole页签中,然后单击【执行】。

SELECT a.sid,

   a.score,
   s.sname

FROM(
SELECT sid, score
FROM sc
WHERE cid= "102") a,

   (

SELECT sid, score
FROM sc
WHERE cid= "101") b,

   student as s

WHERE a.score > b.score
AND a.sid= b.sid
AND s.sid= a.sid

DAY3 收获:RDS/DMS真实操作环境,使用DMS连接RDS MySQL数据库,使用DMS对MySQl进行CRUD操作

DAY4 最佳应用实践之使用RDS MySQL和ECS搭建个人博客

WordPress是使用PHP语言开发的博客平台,用户可以在支持PHP和MySQL数据库的服务器上架设属于自己的网站。也可以把WordPress当作一个内容管理系统(CMS)来使用。

创建数据库账号和密码

麻烦同学翻看一下DAY1 DAY2 DAY3的课程

部署环境

本教程使用Apache作为后端服务器,本节介绍安装Apache服务及其扩展包、以及安装PHP程序。

切换至Web Terminal。

在ECS服务器上,执行以下命令,安装Apache服务及其扩展包

yum -y install httpd httpd-manual mod_ssl mod_perl mod_auth_mysql

启动Apache服务。

systemctl start httpd.service

打开浏览器输入ECS服务器的公网IP,如果显示如下图的测试页面表示Apache服务安装成功

image.png

WordPress是使用PHP语言开发的博客平台。参考以下操作安装PHP。

安装PHP。yum -y install php php-mysql gd php-gd gd-devel php-xml php-common php-mbstring php-ldap php-pear php-xmlrpc php-imap

创建PHP测试页面:echo "<?php phpinfo(); ?>" > /var/www/html/phpinfo.php

重启Apache服务:systemctl restart httpd

打开浏览器,访问http://&lt;ECS公网IP>/phpinfo.php,显示如下页面表示PHP安装成功

image.png

安装和配置WordPress

完成上述配置后,接下来安装WordPress以及连接到RDS数据库。

安装WordPress。yum -y install wordpress

修改wp-config.php指向路径为绝对路径。

进入/usr/share/wordpress目录。

cd /usr/share/wordpress

修改路径。

ln -snf /etc/wordpress/wp-config.php wp-config.php

查看修改后的目录结构。

ll

移动WordPress到Apache根目录。# 在Apache的根目录/var/www/html下,创建一个wp-blog文件夹。
mkdir /var/www/html/wp-blog
mv * /var/www/html/wp-blog/

修改wp-config.php配置文件

database_name_here为之前步骤中创建的数据库名称,本示例为wordpress。
username_here为之前步骤中创建的数据库用户名,本示例为test_user。
password_here为之前步骤中创建的数据库登录密码,本示例为Password1213。
数据库地址为RDS的连接地址(在RDS管理控制台 实例详情 页查看或者开通资源后再左侧资源栏列表中查看RDS连接地址)

sed -i 's/database_name_here/wordpress/' /var/www/html/wp-blog/wp-config.php
sed -i 's/username_here/test_user/' /var/www/html/wp-blog/wp-config.php
sed -i 's/password_here/Password1213/' /var/www/html/wp-blog/wp-config.php
sed -i 's/localhost/数据库地址/' /var/www/html/wp-blog/wp-config.php

查看配置文件信息是否修改成功。cat -n /var/www/html/wp-blog/wp-config.php

重启Apache服务。systemctl restart httpd

初始化WordPress。

a. 打开浏览器并访问http://&lt;ECS公网IP>/wp-blog/wp-admin/install.php。

您可以在左侧实验资源栏查看ECS的公网IP。

b. 设置您的站点名称、管理员用户名和密码,然后单击Install WordPress完成WordPress初始化。

c. 单击Log In,输入用户名和密码,然后再次单击Log In打开WordPress站点。

登录后,您就可以根据需要创建内容进行发布了。至此您已完成WordPress的搭建。

DAY4 收获:ECS真实操作环境,Wordpress安装及部署

DAY5 直播带练-RDS MySQL的SQL问题诊断与调优

跟着导师的直播一步一步去操作

MySQL实例初始化

本步骤将指导您如何登录RDS管理控制台,创建MySQL账号和数据库。

1、创建账号。

a. 双击打开虚拟桌面的Firefox ESR浏览器。

b. 在RAM用户登录框中单击下一步,复制云产品资源列表中子用户密码,按CTRL+V把密码粘贴到密码输区,登录子账户(后续在远程桌面里的粘贴操作均使用CTRL + V快捷键)。

c. 复制下方地址,在FireFox浏览器打开新页签,粘贴并访问RDS管理控制台。

https://rdsnext.console.aliyun.com/

d. 在左侧控制台,单击实例列表。

e. 在实例列表页面上方,切换资源所在地域。

说明: 您可以在云产品资源列表中查看RDS实例的地域。

f. 在实例列表页面,找到您的RDS实例,单击实例ID。

说明: 您可以在云产品资源列表中查看RDS实例。

g. 在基本信息页签左侧,单击账号管理。

h. 在账号管理页签,单击创建账号。

i. 在创建账号面板,数据库账号输入lab_user,账号类型选择高权限账号,密码输入Passw0rd,确认密码框中再一次输入密码Passw0rd,单击确定。

返回如下结果证明创建成功
image.png

2.创建数据库。

a. 在账号管理页签左侧,单击数据库管理。
b. 在数据库管理页签,单击创建数据库。
c. 在创建数据库对话框中,数据库(DB)名称输入lab_db,单击创建。

返回如下页面,表示您已成功创建数据库

image.png

MySQL实例实操

通过DMS进行MySQL常见的表创建、索引创建等操作。

1、在数据库管理页签,单击登录数据库。

2、在登录实例对话框中,输入您的数据库账号和数据库密码,单击登录

3、在SQLConsole页签上方,选择你刚刚创建的数据库lab_db。

4、创建数据库表。

在SQLConsole页签中,输入如下SQL语句,创建数据库test_tb,单击执行。

CREATE TABLE IF NOT EXISTS test_tb(
id INT UNSIGNED AUTO_INCREMENT,
name VARCHAR(100) NOT NULL,
address VARCHAR(40) NOT NULL,
birthday DATE,
PRIMARY KEY ( id )
)ENGINE=InnoDB DEFAULT CHARSET=utf8;

返回如下结果,表示数据库创建成功。

image.png

在SQLConsole页签中,输入如下SQL语句,查看SQL执行计划,单击执行。

explain select * from test_tb where name='abc';

返回如下如下结果,你可以发现key和key_len的值都是null。

image.png

在SQLConsole页签中,输入如下SQL语句,查看test_tb表的表结构,单击执行。

show create table test_tb;

返回如下结果,您可以查看到test_tb表的表结构。

image.png

点击image.png

image.png

您可以看到完整的test_tb表的表结构。

在SQLConsole页签中,输入如下SQL语句,创建test_tb表的索引,单击执行。

alter table test_tb add index(name);

返回如下结果,表示test_tb表的索引创建成功。

image.png

重复第5步和第6步的操作,再次查看完整的test_tb表的表结构,您会发现表结构中多了一个KEY name (name)。

查看执行SQL计划
explain select * from test_tb where name='abc';

查看数据库运行中的SQL
select * from information_schema.PROCESSLIST

DAY5 收获:MySQL数据库创建表,查看表结构,创建表索引,查看SQL执行计划,查看当前数据库运行的SQL。
相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
3月前
|
安全 关系型数据库 MySQL
PHP与MySQL交互:从入门到实践
【9月更文挑战第20天】在数字时代的浪潮中,掌握PHP与MySQL的互动成为了开发动态网站和应用程序的关键。本文将通过简明的语言和实例,引导你理解PHP如何与MySQL数据库进行对话,开启你的编程之旅。我们将从连接数据库开始,逐步深入到执行查询、处理结果,以及应对常见的挑战。无论你是初学者还是希望提升技能的开发者,这篇文章都将为你提供实用的知识和技巧。让我们一起探索PHP与MySQL交互的世界,解锁数据的力量!
|
18天前
|
关系型数据库 MySQL Linux
Linux环境下MySQL数据库自动定时备份实践
数据库备份是确保数据安全的重要措施。在Linux环境下,实现MySQL数据库的自动定时备份可以通过多种方式完成。本文将介绍如何使用`cron`定时任务和`mysqldump`工具来实现MySQL数据库的每日自动备份。
41 3
|
17天前
|
存储 监控 关系型数据库
MySQL自增ID耗尽解决方案:应对策略与实践技巧
在MySQL数据库中,自增ID(AUTO_INCREMENT)是一种特殊的属性,用于自动为新插入的行生成唯一的标识符。然而,当自增ID达到其最大值时,会发生什么?又该如何解决?本文将探讨MySQL自增ID耗尽的问题,并提供一些实用的解决方案。
26 1
|
1月前
|
NoSQL Cloud Native atlas
探索云原生数据库:MongoDB Atlas 的实践与思考
【10月更文挑战第21天】本文探讨了MongoDB Atlas的核心特性、实践应用及对云原生数据库未来的思考。MongoDB Atlas作为MongoDB的云原生版本,提供全球分布式、完全托管、弹性伸缩和安全合规等优势,支持快速部署、数据全球化、自动化运维和灵活定价。文章还讨论了云原生数据库的未来趋势,如架构灵活性、智能化运维和混合云支持,并分享了实施MongoDB Atlas的最佳实践。
|
2月前
|
NoSQL Cloud Native atlas
探索云原生数据库:MongoDB Atlas 的实践与思考
【10月更文挑战第20天】本文探讨了MongoDB Atlas的核心特性、实践应用及对未来云原生数据库的思考。MongoDB Atlas作为云原生数据库服务,具备全球分布、完全托管、弹性伸缩和安全合规等优势,支持快速部署、数据全球化、自动化运维和灵活定价。文章还讨论了实施MongoDB Atlas的最佳实践和职业心得,展望了云原生数据库的发展趋势。
|
2月前
|
NoSQL 关系型数据库 MySQL
MySQL与Redis协同作战:百万级数据统计优化实践
【10月更文挑战第21天】 在处理大规模数据集时,传统的单体数据库解决方案往往力不从心。MySQL和Redis的组合提供了一种高效的解决方案,通过将数据库操作与高速缓存相结合,可以显著提升数据处理的性能。本文将分享一次实际的优化案例,探讨如何利用MySQL和Redis共同实现百万级数据统计的优化。
78 9
|
26天前
|
监控 关系型数据库 MySQL
数据库优化:MySQL索引策略与查询性能调优实战
【10月更文挑战第27天】本文深入探讨了MySQL的索引策略和查询性能调优技巧。通过介绍B-Tree索引、哈希索引和全文索引等不同类型,以及如何创建和维护索引,结合实战案例分析查询执行计划,帮助读者掌握提升查询性能的方法。定期优化索引和调整查询语句是提高数据库性能的关键。
143 1
|
2月前
|
NoSQL 关系型数据库 MySQL
MySQL与Redis协同作战:优化百万数据查询的实战经验
【10月更文挑战第13天】 在处理大规模数据集时,传统的关系型数据库如MySQL可能会遇到性能瓶颈。为了提升数据处理的效率,我们可以结合使用MySQL和Redis,利用两者的优势来优化数据查询。本文将分享一次实战经验,探讨如何通过MySQL与Redis的协同工作来优化百万级数据统计。
61 5
|
2月前
|
SQL 关系型数据库 MySQL
Go语言项目高效对接SQL数据库:实践技巧与方法
在Go语言项目中,与SQL数据库进行对接是一项基础且重要的任务
77 11
|
2月前
|
架构师 关系型数据库 MySQL
MySQL最左前缀优化原则:深入解析与实战应用
【10月更文挑战第12天】在数据库架构设计与优化中,索引的使用是提升查询性能的关键手段之一。其中,MySQL的最左前缀优化原则(Leftmost Prefix Principle)是复合索引(Composite Index)应用中的核心策略。作为资深架构师,深入理解并掌握这一原则,对于平衡数据库性能与维护成本至关重要。本文将详细解读最左前缀优化原则的功能特点、业务场景、优缺点、底层原理,并通过Java示例展示其实现方式。
91 1