MySQL数据库进阶实战

本文涉及的产品
云服务器 ECS,每月免费额度200元 3个月
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
云服务器ECS,u1 2核4GB 1个月
简介: MySQL数据库进阶实战

MySQL数据库快速部署实践

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

1. MySQL安装与配置

MySQL是一个关系型数据库管理系统,本步骤指导您如何在ECS实例上安装MySQL。

  1. 执行如下命令,更新YUM源。

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

2. 执行如下命令,安装MySQL。

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

3. 执行如下命令,查看MySQL版本号。

mysql -V

返回结果如下,表示您已成功安装MySQL。

4. 执行如下命令,启动MySQL服务。

systemctl start mysqld

5. 执行如下命令,设置MySQL服务开机自启动。

systemctl enable mysqld

6. 配置MySQL的root用户密码。

  1. 执行如下命令,查看/var/log/mysqld.log文件,获取root用户的初始密码。

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

返回结果如下所示,您可以查看到root用户的初始密码。

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

mysql -uroot -p

返回结果如下所示,输入root用户的初始密码。

  1. 执行以下命令,修改MySQL的root用户的初始密码。

set global validate_password_policy=0;  #修改密码安全策略为低(只校验密码长度,至少8位)。 ALTER USER 'root'@'localhost' IDENTIFIED BY '12345678';

  1. 执行以下命令,授予root用户远程管理权限。

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '12345678';

  1. 输入exit退出数据库。

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

mysql -uroot -p12345678

8. 执行如下命令,创建test数据库。

create database test;

9.执行如下命令,查看当前数据库列表。此时,可以看到三个数据库:information_schema ,mysql,performance_schema,sys,test 。

show databases;

注意:进入 mysql 之后,每条命令结尾都要有分号。


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

use mysql;

show tables;

exit


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

mysqldump -uroot -p test >test.sql

ll


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

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

mysql -uroot -p -Dtest<test.sql


13. 还有一种导入方法:输入命令: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;

2. 常用 SQL

本小节将主要介绍基本的 SQL 语句,数据的增删查改等。

1. 若当前不是在 Mysql 数据库的命令界面,请执行命令:mysql -uroot -p12345678,登录到 Mysql 数据库命令行界面。否则,请忽略此操作。


然后,在Mysql中,执行命令use test;,连接 test 数据库。界面提示 Database changed ,表示现在使用的数据库为 test 数据库。

use test;

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

说明:mysql 命令执行完成,页面会提示 Query OK 。

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

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

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

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

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

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

select * from test1;

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

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

5. 执行命令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 表名称 = 值;

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

delete from test1 where id =1;

select * from test1;

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

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

drop table test1;

show tables;

语法:DROP TABLE 表名称

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

drop database test;

show databases;

语法:DROP DATABASE 数据库名称

数据库上云实战-如何在云端创建MySQL数据库

开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。

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

2. 运行如下命令,登录到ECS实例的MySQL数据库:

mysql -u root -p123456


3. 通过如下操作,查看源数据库bakery、其中的表customer和product,以及表中的数据。

1)执行如下命令,查看数据库信息。

show databases;

2)执行如下命令,切换数据库为bakery:

use bakery;


3)执行如下命令,查看表中数据:

show columns from customer;

show columns from product;  

select * from customer;

select * from product;


上云迁移

1. 首先,通过如下操作步骤,登录到阿里云RDS管理控制台:

1)点击右侧图标,切换到远程桌面操作界面。

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

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

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

3. 通过如下步骤,进入数据库账号创建页面:

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

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

2. 填写如下信息,完成数据库账号创建:

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

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

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

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

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

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

3. 通过如下操作步骤,进入数据库创建页面:

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

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


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

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

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

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

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

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

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

5. 进入数据传输服务DTS

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

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

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

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

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

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

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

  • 实例类型:选择有公网IP的自建数据库
  • 实例地区: 选择 云产品资源 中分配的 地域 ,例如:华东1
  • 数据库类型:选择MySQL
  • 主机名或IP地址:输入云产品资源中分配的 MySQL源数据库 ECS实例的 弹性IP。

  • 端口:使用默认端口号 3306
  • 数据库账号:输入ECS上自建MySQL的 数据库账号 ,root;数据库密码:自建MySQL的访问密码,123456
  • 完成如上配置后,点击右侧的 【测试连接】 ,测试自建MySQL数据库的连通性,若显示 测试通过 ,证明连接成功。否则,请检查如上配置信息是否正确。

7. 按照如下步骤,完成目标库信息的配置信息:

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

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

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

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

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

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

8. 通过如下步骤,配置迁移任务的 迁移类型及列表:

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

2)点击>

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

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

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

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

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

基础学习之MySQL数据库基础

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

3. 数据库表操作

数据库表操作

本小节主要介绍对数据库表的基本操作,其中包括新增、删除、更新和重命名等。

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

2. 使用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。

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

3. 使用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`;

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

修改表名user为student。

RENAME TABLE USER TO student;

语句格式:

RENAME TABLE table_name_a TO table_name_b;

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

说明:此操作不能撤销,请谨慎操作。

删除学生表。

DROP TABLE student;

语句格式:

DROP TABLE table_name;


上一页下一页

4. 数据操作

数据操作

本小节主要为大家介绍MySQL中常用的数据查询、删除、更新、插入等基本操作。

1. 使用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


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

2. 插入数据

插入语句说明:

  • 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) ;

3. 查询数据

查询语句格式:

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;

4. 更新数据

更新语句格式:

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

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

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

5. 删除数据

删除语句格式:

DELETE FROM table_name WHERE where_condition

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

DELETE FROM `user` WHERE `name` = 'xiaoming' ;

5. 函数操作

函数操作

本小节主要为大家介绍MySQL中常用的内置函数。

1. 使用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);

2. AVG()函数

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

SELECT avg(score) FROM student_score;

执行结果如下:

3. COUNT()函数

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

SELECT COUNT(*) FROM student_score;

执行结果如下:

4. MAX()函数

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

SELECT MAX(score) FROM student_score;

执行结果如下:

5. MIN()函数

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

SELECT MIN(score) FROM student_score;

执行结果如下:

6. SUM()函数

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

SELECT SUM(score) FROM student_score;

执行结果如下:


上一页下一页

6. 组合查询

组合查询

本小节主要介绍如何使用GROUP BY、HAVING和ORDER BY等进行分组查询。

1. 使用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');

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

2. 查询所有同学的学号和成绩。 将以下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 ;

执行结果如下:

3. 查询语文成绩在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

执行结果如下:

4. 查询语文成绩比数学成绩高的同学。 将以下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

执行结果如下:



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

场景将提供一台基础环境为CentOS的ECS(云服务器)和一台RDS MySQL版数据库实例。我们将会在这台服务器安装Apache+PHP+WordPress网站环境,结合RDS MySQL版数据库实例帮助您快速搭建自己的云上博客。

3. 部署环境

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

1. 在实验室页面右侧,单击单击图标,切换至Web Terminal。

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

yum -y install httpd httpd-manual mod_ssl mod_perl mod_auth_mysql


返回类似如下图结果则表示安装成功:

3. 执行以下命令,启动Apache服务。

systemctl start httpd.service

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

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

a. 执行以下命令,安装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

b. 执行以下命令,创建PHP测试页面。

echo "<?php phpinfo(); ?>" > /var/www/html/phpinfo.php

c. 执行以下命令,重启Apache服务。

systemctl restart httpd

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

4. 安装和配置WordPress

完成上述环境搭建后,参考本节安装WordPress以及连接到RDS数据库。

1. 执行以下命令,安装WordPress。

yum -y install wordpress


显示如下信息表示安装成功。

2. 修改WordPress配置文件。

a. 执行以下命令,修改wp-config.php指向路径为绝对路径。

# 进入/usr/share/wordpress目录。 cd /usr/share/wordpress # 修改路径。 ln -snf /etc/wordpress/wp-config.php wp-config.php # 查看修改后的目录结构。 ll

b. 执行以下命令,移动WordPress到Apache根目录。

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

c. 执行以下命令,修改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

d. 执行以下命令,查看配置文件信息是否修改成功。

cat -n /var/www/html/wp-blog/wp-config.php

修改内容如下图所示:

3. 执行以下命令,重启Apache服务。

systemctl restart httpd

4. 初始化WordPress。

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

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

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

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

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


相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
16天前
|
SQL 存储 关系型数据库
不允许你不知道的 MySQL 优化实战(三)
不允许你不知道的 MySQL 优化实战(三)
22 1
|
20天前
|
关系型数据库 MySQL
【MySQL实战笔记】07 | 行锁功过:怎么减少行锁对性能的影响?-01
【4月更文挑战第18天】MySQL的InnoDB引擎支持行锁,而MyISAM只支持表锁。行锁在事务开始时添加,事务结束时释放,遵循两阶段锁协议。为减少锁冲突影响并发,应将可能导致最大冲突的锁操作放在事务最后。例如,在电影票交易中,应将更新影院账户余额的操作安排在事务末尾,以缩短锁住关键行的时间,提高系统并发性能。
15 4
|
21天前
|
关系型数据库 MySQL 数据库
【MySQL实战笔记】 06 | 全局锁和表锁 :给表加个字段怎么有这么多阻碍?-01
【4月更文挑战第17天】MySQL的锁分为全局锁、表级锁和行锁。全局锁用于全库备份,可能导致业务暂停或主从延迟。不加锁备份会导致逻辑不一致。推荐使用`FTWRL`而非`readonly=true`因后者可能影响其他逻辑且异常处理不同。表级锁如`lock tables`限制读写并限定操作对象,常用于并发控制。元数据锁(MDL)在访问表时自动加锁,确保读写正确性。
70 31
|
1月前
|
存储 关系型数据库 MySQL
【MySQL实战笔记】 04 | 深入浅出索引(上)-01
【4月更文挑战第8天】这篇文章除了介绍索引的作用和提高查询效率的原理,还探讨了三种常见的数据结构:哈希表、有序数组和搜索树。哈希表适合等值查询,但不支持范围查询;有序数组利用二分查找实现快速等值查询,但更新成本高;二叉搜索树保持平衡时查询高效,但磁盘存储时效率低。文章指出,由于磁盘读取延迟,实际数据库索引设计需考虑减少磁盘访问次数。
34 5
|
1月前
|
SQL 关系型数据库 MySQL
【MySQL实战笔记】02.一条SQL更新语句是如何执行的-1
【4月更文挑战第4天】SQL更新语句执行涉及查询和日志模块,主要为`redo log`和`binlog`。`redo log`先写日志再写磁盘,保证`crash-safe`;`binlog`记录逻辑日志,支持所有引擎,且追加写入。执行过程分为执行器查找数据、更新内存和`redo log`(prepare状态)、写入`binlog`、提交事务(`redo log`转commit)。两阶段提交确保日志逻辑一致,支持数据库恢复至任意时间点。
20 0
|
16天前
|
SQL 关系型数据库 MySQL
不允许你不知道的 MySQL 优化实战(二)
不允许你不知道的 MySQL 优化实战(二)
22 2
|
1月前
|
SQL 安全 关系型数据库
【MySQL实战笔记】03.事务隔离:为什么你改了我还看不见?-01
【4月更文挑战第6天】MySQL事务的隔离性确保数据操作的完整性和一致性,ACID原则包括原子性、一致性、隔离性和持久性。事务隔离级别有四种:读未提交、读提交、可重复读和串行化,分别解决并发问题如脏读、不可重复读和幻读。不同隔离级别在效率和安全性间权衡,例如读未提交允许未提交变更可见,而串行化通过锁保证安全但可能降低效率。在不同隔离级别下,事务看到的数据状态会有所变化,例如在可重复读级别,事务始终看到初始数据,而在串行化级别,事务会等待其他事务完成再继续,避免数据冲突。
278 10
|
2天前
|
SQL 关系型数据库 MySQL
MySQL数据库的约束+进阶版新增与查询-2
MySQL数据库的约束+进阶版新增与查询
12 1
|
11天前
|
缓存 关系型数据库 MySQL
MySQL数据库性能优化实战
【4月更文挑战第30天】本文探讨了MySQL性能优化实战技巧,包括硬件与配置优化(如使用SSD、增加内存和调整配置参数)、索引优化(创建合适索引、使用复合索引及定期维护)、查询优化(避免全表扫描、减少JOIN和使用LIMIT)、分区与分片(表分区和数据库分片),以及使用缓存、定期清理数据库和监控诊断。通过这些方法,可以提升数据库性能和响应速度。
|
13天前
|
存储 关系型数据库 MySQL
MySQL数据库实战:从入门到精通
本文介绍了MySQL的使用和优化,适合Web开发者阅读。首先,确保安装并配置好MySQL,熟悉SQL基础。接着,通过命令行客户端连接数据库,执行创建、查询、添加、修改和删除数据等操作。学习数据类型并创建表存储数据。最后,探讨了数据库优化,包括查询优化和索引使用,以提升性能。
25 2