MySQL 运维篇

本文涉及的产品
云数据库 RDS MySQL,集群版 2核4GB 100GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: 该文本涵盖了数据库管理的关键方面,包括DDL(CREATE, DROP, ALTER等)用于定义数据库结构,DML(INSERT, DELETE, UPDATE, SELECT)用于数据操作,DCL(GRANT, REVOKE, COMMIT, ROLLBACK)涉及权限管理和事务控制,以及DQL用于数据查询。还介绍了MySQL的安装过程,包括源码编译和二进制安装方法,以及启动服务、设置初始密码和修改用户密码的步骤。

回顾基本语句:
数据定义语言(DDL)
这类语言用于定义和修改数据库的结构,包括创建、删除和修改数据库、 表、视图和索引等对象。

主要的语句关键字包括 CREATE 、 DROP 、 ALTER 、 RENAME 、 TRUNCATE 等。

create database 数据库 ;

create table 表 (列1 数据类型 [ 约束条件], 列2 数据类型 【约束条件】……) add CONTRAINT 增加一些主键或者外键的约束

drop table/ drop database;

truncate 表;

rename 旧表名 TO 新表名 ;

alter 表 add 列 / drop 列 /

create view (虚表) / drop view

create user / drop user

数据操作语言(DML)
用于添加、删除、更新和查询数据库中的记录。这些语句是关系型数据库的 核心,用于操作表中的数据。主要的语句关键字包括 INSERT 、 DELETE 、 UPDATE 、 SELECT 等。

select 表的数据查询 from 表 WHERE 过滤条件 group by 列 order by ;

insert into 表(列1……)values (一行数据【和列是对应输入的】), (第二行数据)……;

update 表 SET 列 = 值 where 过滤条件 (定位修改的数据行);

delete from 表 where 过滤条件;

数据控制语言(DCL)
用于定义和管理数据库、表、字段或用户的访问权限和安全级别。主要的语 句关键字包括 GRANT 、 REVOKE 、 COMMIT 、 ROLLBACK 等。

GRANT // 数据库用户的授权 对应权限的内容见 MySQL CRASH COURSE p257 表 28.1

revoke // 数据库用户权限的回收【撤销】

commit / rollback // 对于事务的提交和回滚

数据查询语言(DQL)
这是专门用于从数据库中检索数据/ f

select cur();

select version();

联合查询等

join

UNION

一、安装

  1. 源码编译安装
    a.获取源码 boost(包含这个组件的源码包)

b. cmake ---> 生成makefile

c. make

d. make install

e. 进行一些基础的优化

  1. 二进制 (软件包中包括已经编译完成的二进制程序以及需要的文件和配置文件 )
    a. 直接获取安装需要的所有软件包的bundle 包 ,然后进行安装 【mysql 安装】

b. 直接配置mysql 官方的仓库 通过yum仓库安装

  1. 添加yum 仓库
    [root@bogon ~]# wget https://repo.mysql.com//mysql80-communityrelease-el8-9.noarch.rpm
    --2024-04-27
    20:31:45-- https://repo.mysql.com//mysql80-communityrelease-el8-9.noarch.rpm
    Resolving
    repo.mysql.com (repo.mysql.com)... 23.210.109.97,
    2a02:26f0:d8:980::1d68, 2a02:26f0:d8:98f::1d68
    Connecting to repo.mysql.com (repo.mysql.com)|23.210.109.97|:443...
    connected.
    HTTP request sent, awaiting response... 200 OK
    Length: 17792 (17K) [application/x-redhat-package-manager]
    Saving to: ‘mysql80-community-release-el8-9.noarch.rpm’
    mysql80-community-release-el8-9 100%
    [=====================================================>] 17.38K -
    -.-KB/s in 0.006s
    2024-04-27 20:31:45 (3.02 MB/s) - ‘mysql80-community-release-el8-
    9.noarch.rpm’ saved [17792/17792]
    [root@bogon ~]# ls
    aaa Desktop Downloads Music
             original-ks.cfg Public     Videos
    
    anaconda-ks.cfg Documents keys mysql80-community-releaseel8-9.noarch.rpm
    Pictures Templates
    [root@bogon ~]# rpm -ivh mysql80-community-release-el8-9.noarch.rpm
    [root@bogon ~]# ls /etc/yum.repos.d/
    aa.repo bb.repo mysql-community-debuginfo.repo mysqlcommunity.repo
    mysql-community-source.repo redhat.repo

    可选 , 如果已经在系统中进行了相关数据的安装(mariadb 以及 mysql)

    rpm -qa | egrep 'mysql|mariadb'

    如果有提示任何包的安装信息,需要先卸载对应的包,然后再禁用下面的模块

    yum module -y disable mysql # 禁用原本启用的mysql 模块 ,后续安装
    时,可以使用第一步所设置的仓库进行安装
  1. 安装server 包
    [root@bogon ~]# yum install mysql-community-server
  1. 启动服务
    完成数据的初始化
    创建基本的数据库和表
    完成mysql 超级用户 root@localhost的创建以及密码的生成(限制root用户 只能从
    mysql 运行的节点登录)
    [root@mysql8 ~]# systemctl start mysqld

抓取用户密码

[root@mysql8 ~]# grep password /var/log/mysqld.log
2024-04-28T00:27:27.590106Z 6 [Note] [MY-010454] [Server] A
temporary password is generated for root@localhost: f%EqxVUy9d5u

修改密码

[root@mysql8 ~]# mysql -u root -p'f%EqxVUy9d5u' -h localhost
mysql: [Warning] Using a password on the command line interface can
be insecure.
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 9
Server version: 8.0.36
Copyright (c) 2000, 2024, Oracle and/or its affiliates.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input
statement.
mysql> alter user root@localhost identified by 'Redhat12~';
Query OK, 0 rows affected (0.01 sec)

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
2月前
|
SQL 运维 关系型数据库
MySQL数据库运维第一篇(日志与主从复制)
MySQL数据库运维第一篇(日志与主从复制)
|
9天前
|
存储 SQL 运维
运维开发.MySQL.范式与反范式化
运维开发.MySQL.范式与反范式化
27 1
|
9天前
|
运维 关系型数据库 MySQL
"MySQL运维精髓:深入解析数据库及表的高效创建、管理、优化与备份恢复策略"
【8月更文挑战第9天】MySQL是最流行的开源数据库之一,其运维对数据安全与性能至关重要。本文通过最佳实践介绍数据库及表的创建、管理与优化,包括示例代码。涵盖创建/删除数据库、表结构定义/调整、索引优化和查询分析,以及数据备份与恢复等关键操作,助您高效管理MySQL,确保数据完整性和系统稳定运行。
24 0
|
10天前
|
SQL 存储 关系型数据库
运维笔记.MySQL.基于mysqldump数据备份与恢复
运维笔记.MySQL.基于mysqldump数据备份与恢复
22 0
|
2月前
|
SQL 存储 关系型数据库
精通MySQL:从基础到高级运维实战
第一章:MySQL入门与基础 1.1 MySQL概述 简要介绍MySQL的历史、发展及其在数据库领域的地位
|
3月前
|
缓存 运维 关系型数据库
运维角度浅谈MySQL数据库优化
运维角度浅谈MySQL数据库优化
|
12天前
|
机器学习/深度学习 人工智能 运维
智能化运维:未来趋势与实践策略
【8月更文挑战第7天】 随着技术的进步,智能化运维已成为企业提升效率、降低成本的必由之路。本文将探讨智能化运维的核心概念、实施步骤和面临的挑战,同时通过案例分析展示其在实践中的应用效果,旨在为读者提供一套清晰的智能化运维实施指南。
37 10
|
6天前
|
运维 监控 Devops
构建高效自动化运维体系:DevOps与容器化实践
【7月更文挑战第44天】在现代IT基础设施管理中,自动化运维已成为提升效率、降低成本、确保系统稳定性的关键。本文将探讨如何通过结合DevOps理念和容器化技术来构建一个高效的自动化运维体系。我们将分析这一体系对提高软件交付速度、优化资源利用率以及增强系统可靠性的积极影响,并提供一系列实施策略和最佳实践,帮助企业实现运维自动化转型。
|
8天前
|
运维 监控 持续交付
构建高效自动化运维体系:Ansible与Docker的协同实践
【7月更文挑战第42天】 在当今快速发展的云计算和微服务架构时代,自动化运维已成为提升效率、确保系统稳定性的关键。本文将探讨如何利用Ansible这一强大的自动化工具与Docker容器技术相结合,搭建一个高效、可靠的自动化运维体系。文章首先简述了自动化运维的必要性和Ansible与Docker的基本概念,随后详细介绍了两者结合的优势,并通过实际案例分析展示了如何实现自动化部署、管理和扩展应用服务。通过阅读本文,读者将获得一套可行的自动化运维解决方案,以应对日益复杂的IT环境挑战。
|
8天前
|
运维 监控 安全
运维自动化的演变与实践
【8月更文挑战第11天】在信息技术日新月异的今天,运维自动化已成为提升企业效率、保障系统稳定性的关键。本文将深入探讨运维自动化的发展历程,分析其在现代IT架构中的应用,并分享实施自动化过程中的经验教训。通过具体案例,揭示自动化如何优化运维工作流程,提高服务质量和工作效率。