MySQL概述与安装使用

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云原生数据库 PolarDB PostgreSQL 版,标准版 2核4GB 50GB
简介: MySQL安装使用

1、官方定义的MySQL-DBA工作职责
database administrator
开发DBA *
懂至少一门开发语言 :JAVA、Python
基本SQL语句深入学习(增删改查)、数据库结构设计(建模)
高级SQL:存储过程、函数、触发器、视图、事务

运维DBA *
初级:各版本、各平台安装搭建、升级

中级:体系结构原理、基础管理(启动关闭、初始化配置文件管理、多实例管理、用户权限管理、基本SQL(增删改查))、日志管理、备份与恢复、主从复制(构建、状态监控)

高级:高可用(MGR、InnoDB Cluster)、高性能(优化)

==============================
职业要求

熟悉操作系统:主流系统

熟悉业务(开发):产品功能 用户行为触发数据库

熟悉行业:熟悉行业发展 版本 常见产品 https://db-engines.com/en/ranking

热爱数据库职业:

严谨:细心 责任心 生产环境修改参数需要经验和理论支持

======================================
1、什么是数据?
数据:文字、图片、视频。。。人类认知的数据表现方式
计算机:二进制、16进制的机器语言
基于数据的重要性和复杂性的不同,我们可能有不同的管理方式。

哪些数据是适合存储到数据库的呢?
重要性比较高的
关系较复杂的数据

2、什么是数据库管理系统(DBMS)?
RDBMS: 关系型数据库管理系统
比较适合于,安全级别要求高的数据以及关系较复杂的数据

NoSQL:非关系型数据库管理系统
适合于高性能存取数据,一般是配合RDBMS进行使用的
针对大数据处理分析,分布式架构更加擅长

3、数据库管理系统种类 *
RDBMS:
MySQL 、Oracle、MSSQL(SQL Server)、Postgresql、IBM db2

NoSQL:Not Only SQL
键-值(key-value):Redis, memcached
文档(document):Mongodb
搜索引擎: Elasticsearch

NewSQL: 分布式数据库
spanner tidb polardb

======================================
MySQL版本企业选择

1 规范

GA版本:稳定的发布版本

2 版本类型

E:企业版,收费版本,SR,偏传统行业

C:社区版,开源版本,互联网企业的选择

3 企业版本选择

一般新上的环境,会选择GA6-12月版本

4 企业主流版本*

5.6版本:5.6.34 5.6.36 5.6.38(Sep 13, 2017)  5.6.40

5.7版本:5.7.20(Sep 13, 2017) 5.7.22 5.7.24  5.7.32

8.0版本:8.0.26 (Jul 1, 2021)

5 MySQL分支*

Oracle MySQL

MariaDB 

PerconaDB

RDS(阿里)

6 软件下载

地址:https://downloads.mysql.com/archives/community/

RPM包:
二进制包:(上课使用的版本)
源码包:C++的源码,需要二次开发的时候,需要做统一配置管理的时候

====================================================
安装和基本配置
下载和上传软件到/usr/src
1 解压
tar xf mysql-5.7.20-linux-glibc2.12-x86_64.tar.gz -C /usr/local

cd /usr/local
mv mysql-5.7.20-linux-glibc2.12-x86_64/ mysql

2 修改环境变量及生效

vim /etc/profile

export PATH=/usr/local/mysql/bin:$PATH

source /etc/profile

mysql -V

3 清理历史软件包
yum remove -y mariadb-libs

4 建用户
useradd -s /sbin/nologin mysql

5 创建数据目录
mkdir -p /usr/local/mysql/data

6 修改权限
chown -R mysql.mysql /usr/local/mysql/data

7 初始化数据

`5.6 版本的初始化程序:

/usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

`5.7 版本的初始化程序:

/usr/local/mysql/bin/mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

--initialize参数解释:
初始化完成后,会生成临时密码(显示到屏幕上,并且会往日志中记一份)
密码复杂度:长度:超过12位 复杂度:字符混乱组合

密码过期时间180天

准备启动脚本和基础配置文件
1 准备sys-v启动脚本
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld

2 准备配置文件
vim /etc/my.cnf

[mysqld]
user=mysql
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
socket=/tmp/mysql.sock
server_id=6
port=3306
[mysql]
socket=/tmp/mysql.sock
prompt=mysql>

3 启动数据库
service mysqld start

4 systemctl管理数据库
vim /etc/systemd/system/mysqld.service
[Unit]
Description=MySQL Server
Documentation=man:mysqld(8)
Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html
After=network.target
After=syslog.target
[Install]
WantedBy=multi-user.target
[Service]
User=mysql
Group=mysql
ExecStart=/usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf
LimitNOFILE = 5000

systemctl restart mysqld

5 连接数据库
mysql

6 设置root的初始密码(三种方法)
mysql_secure_installation
mysqladmin -uroot -p password 123
登录数据库;grant all on . to root@localhost identified by '123';

===========================================
忘记数据库密码,破解 *

systemctl stop mysqld

mysqld_safe --skip-grant-tables & #跳过权限表

mysql

grant all on . to root@localhost identified by '123456'; #会报错

flush privileges;

grant all on . to root@localhost identified by '123456';

exit

killall -9 mysqld_safe

systemctl start mysqld

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
4月前
|
存储 SQL 数据库
MySQL-存储过程概述
MySQL-存储过程概述
134 1
|
4月前
|
SQL 关系型数据库 MySQL
Mycat【Mycat部署安装(核心配置及目录结构、安装以及管理命令详解)Mycat高级特性(读写分离概述、搭建读写分离、MySQL双主双从原理)】(三)-全面详解(学习总结---从入门到深化)
Mycat【Mycat部署安装(核心配置及目录结构、安装以及管理命令详解)Mycat高级特性(读写分离概述、搭建读写分离、MySQL双主双从原理)】(三)-全面详解(学习总结---从入门到深化)
439 0
|
1月前
|
SQL 数据采集 关系型数据库
七:《智慧的网络爬虫》— MySQL概述
【8月更文挑战第11天】本篇文章详细的介绍了MySQL数据库的安装与使用;并讲述了MySQL的基本操作及其应用语法
37 0
七:《智慧的网络爬虫》— MySQL概述
|
1月前
|
cobar 关系型数据库 MySQL
使用MyCat实现MySQL主从读写分离(一)概述
【8月更文挑战第11天】MySQL读写分离通过主从复制分散负载,主库负责写操作,从库承担读查询,以复制技术确保数据一致性。此策略有效缓解锁竞争,提升查询效能并增强系统可用性。实现方式包括应用层处理,简便快捷但灵活性受限;或采用中间件如MyCAT、Vitess等,支持复杂场景但需专业团队维护。
52 0
|
3月前
|
SQL 关系型数据库 MySQL
MySQL数据库——基础篇总结(概述、SQL、函数、约束、多表查询、事务)一
MySQL数据库——基础篇总结(概述、SQL、函数、约束、多表查询、事务)一
41 5
|
2月前
|
SQL Oracle 关系型数据库
第1章 MySQL概述
第1章 MySQL概述
18 0
|
4月前
|
SQL 关系型数据库 MySQL
【MySQL进阶之路 | 基础篇】约束之概述
【MySQL进阶之路 | 基础篇】约束之概述
|
4月前
|
SQL 关系型数据库 MySQL
【MySQL进阶之路 | 基础篇】SQL概述
【MySQL进阶之路 | 基础篇】SQL概述
|
3月前
|
存储 关系型数据库 MySQL
【MySQL技术内幕】5.1-InnoDB存储引擎索引概述
【MySQL技术内幕】5.1-InnoDB存储引擎索引概述
48 0
|
3月前
|
SQL 关系型数据库 MySQL
MySQL数据库——锁-概述以及全局锁(介绍、语法、特点)
MySQL数据库——锁-概述以及全局锁(介绍、语法、特点)
63 0