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

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: 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

设置MySQL服务开机自启动。

systemctl enable mysqld

配置MySQL的root用户密码:

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

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

使用root用户登录数据库。

mysql -uroot -p

提示Enter password时输入不显示,不用在意,继续操作就行

修改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退出数据库。

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

mysql -uroot -p12345678

创建test数据库。

create database test;

查看当前数据库列表。此时,可以看到三个数据库:information_schema ,mysql,performance_schema,sys,test 。

show databases;

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

返回 Linux 界面,执行如下命令,将名为 test 的数据库备份到当前目录的 test.sql

mysqldump -uroot -p test >test.sql

返回 Linux 界面,执行如下命令,将 test.sql 导入数据库。

mysql -uroot -p -Dtest

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

在Mysql中,执行命令 use test; ,连接 test 数据库。

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

插入数据 CREATE TABLE 表名称 (列名称1 数据类型,列名称2 数据类型,列名称3 数据类型,....);

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

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

修改 UPDATE 表名称 SET 列名 = 值 WHERE 表名称 = 值;

删除行 DELETE FROM 表名称 WHERE 列名称 = 值;

删除表 DROP TABLE 表名称


数据库上云实战

登录到阿里云RDS管理控制台,完成数据库账号创建,在数据库管理创建数据库并授权账号。

进入数据传输服务DTS, 配置迁移任务,按照如下步骤,输入 源库信息 的配置信息:

  • 实例类型:选择 有公网IP的自建数据库
  • 实例地区: 选择 云产品资源 中分配的 地域 ,例如:华东1
  • 数据库类型:选择 MySQL
  • 主机名或IP地址:输入 云产品资源 中分配的 MySQL源数据库 ECS实例的 弹性IP。
  • 端口:使用默认端口号 3306
  • 数据库账号:输入ECS上自建MySQL的 数据库账号,数据库密码

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

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

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

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

4)数据库账号,数据库密码

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

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

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

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

2)点击 >

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

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

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

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

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

登录数据库后进入数据库管理登录界面,检验迁移是否成功。


MySQL数据库基础

在MySQL数据库快速部署中已有部分数据库基础操作

更新数据表。

在年龄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 table_name_a TO table_name_b;

函数:

取平均值:AVG()函数

计数: COUNT()函数

最大值:MAX()

最小值:MIN()

求和: SUM()


使用ECS和RDS搭建个人博客

同样,登录到阿里云RDS管理控制台,完成数据库账号创建,在数据库管理创建数据库并授权账号。

切换至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服务安装成功。

WordPress是使用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://<ECS公网IP>/phpinfo.php,显示PHP info信息表示PHP安装成功。

安装WordPress以及连接到RDS数据库。

安装WordPress。

yum -y install wordpress

修改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。

打开浏览器并访问http://<ECS公网IP>/wp-blog/wp-admin/install.php

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

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

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

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


直播代练

直播代练,手把手演示MySQL的SQL问题诊断与调优体验。

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
1月前
|
分布式计算 关系型数据库 MySQL
大数据-88 Spark 集群 案例学习 Spark Scala 案例 SuperWordCount 计算结果数据写入MySQL
大数据-88 Spark 集群 案例学习 Spark Scala 案例 SuperWordCount 计算结果数据写入MySQL
48 3
|
15天前
|
监控 关系型数据库 MySQL
数据库优化:MySQL索引策略与查询性能调优实战
【10月更文挑战第27天】本文深入探讨了MySQL的索引策略和查询性能调优技巧。通过介绍B-Tree索引、哈希索引和全文索引等不同类型,以及如何创建和维护索引,结合实战案例分析查询执行计划,帮助读者掌握提升查询性能的方法。定期优化索引和调整查询语句是提高数据库性能的关键。
78 1
|
21天前
|
NoSQL 关系型数据库 MySQL
MySQL与Redis协同作战:优化百万数据查询的实战经验
【10月更文挑战第13天】 在处理大规模数据集时,传统的关系型数据库如MySQL可能会遇到性能瓶颈。为了提升数据处理的效率,我们可以结合使用MySQL和Redis,利用两者的优势来优化数据查询。本文将分享一次实战经验,探讨如何通过MySQL与Redis的协同工作来优化百万级数据统计。
48 5
|
1月前
|
架构师 关系型数据库 MySQL
MySQL最左前缀优化原则:深入解析与实战应用
【10月更文挑战第12天】在数据库架构设计与优化中,索引的使用是提升查询性能的关键手段之一。其中,MySQL的最左前缀优化原则(Leftmost Prefix Principle)是复合索引(Composite Index)应用中的核心策略。作为资深架构师,深入理解并掌握这一原则,对于平衡数据库性能与维护成本至关重要。本文将详细解读最左前缀优化原则的功能特点、业务场景、优缺点、底层原理,并通过Java示例展示其实现方式。
68 1
|
1月前
|
SQL NoSQL 关系型数据库
数据库学习
【10月更文挑战第8天】
20 1
|
1月前
|
关系型数据库 MySQL Java
Django学习二:配置mysql,创建model实例,自动创建数据库表,对mysql数据库表已经创建好的进行直接操作和实验。
这篇文章是关于如何使用Django框架配置MySQL数据库,创建模型实例,并自动或手动创建数据库表,以及对这些表进行操作的详细教程。
61 0
Django学习二:配置mysql,创建model实例,自动创建数据库表,对mysql数据库表已经创建好的进行直接操作和实验。
|
1月前
|
Java 关系型数据库 MySQL
springboot学习五:springboot整合Mybatis 连接 mysql数据库
这篇文章是关于如何使用Spring Boot整合MyBatis来连接MySQL数据库,并进行基本的增删改查操作的教程。
64 0
springboot学习五:springboot整合Mybatis 连接 mysql数据库
|
1月前
|
Java 关系型数据库 MySQL
springboot学习四:springboot链接mysql数据库,使用JdbcTemplate 操作mysql
这篇文章是关于如何使用Spring Boot框架通过JdbcTemplate操作MySQL数据库的教程。
24 0
springboot学习四:springboot链接mysql数据库,使用JdbcTemplate 操作mysql
|
16天前
|
监控 关系型数据库 MySQL
数据库优化:MySQL索引策略与查询性能调优实战
【10月更文挑战第26天】数据库作为现代应用系统的核心组件,其性能优化至关重要。本文主要探讨MySQL的索引策略与查询性能调优。通过合理创建索引(如B-Tree、复合索引)和优化查询语句(如使用EXPLAIN、优化分页查询),可以显著提升数据库的响应速度和稳定性。实践中还需定期审查慢查询日志,持续优化性能。
47 0
|
1月前
|
关系型数据库 MySQL 数据库
mysql关系型数据库的学习
mysql关系型数据库的学习
18 0