简单详细的MySQL数据库结构及yum和通用二进制安装mysql的方法

目录

  • mysql体系结构
  • mysql的安装方法
    • 一,yum安装
      • 1,首先下载一个网络源仓库:
      • 2,然后安装 mysql-community-server
      • 3,启动mysqld 服务
      • 4,然后登录数据库
      • 5,初次登录要设置密码,而且不能太简单
    • 二,通用二进制安装mysql
      • 1,网络获取到通用二进制的压缩包
      • 2,创建mysql用户及组
      • 3,解压
      • 4,创建软链接,方便以后升级和操作
      • 5,初始化数据库
      • 6,提供配置文件和服务启动脚本
      • 7,添加 mysql 服务
      • 8,起动mysql,并且配置环境变量
      • 9,初次登录数据库
      • 10,设置改密码

mysql体系结构

mysql由SQL接口,解析器,优化器,缓存,存储引擎等组成。
SQL interface:接收用户命令,并且返回结果,如 select * from 就是调用了SQL 接口的
解析器(Parser): sql语句命令传递到解析器后会进行命令解析以及处理。
优化器(Optimizer): 语句在查询执行之前会进行语句的优化
缓存(Cache&Buffer:): 如果查询的缓存中存在命中的结果就会直接在缓存中拿出数据
存储引擎(Engine):存储引擎是mysql中具体与文件打交道的子系统
Connectors(连接器):不同的语言与mysql的交互连接器
Connectors pool(连接池): 管理缓冲用户连接,管理线程处理等缓存需求。
在这里插入图片描述

mysql的安装方法

一,yum安装

环境要求: Centos 7 版本的操作系统
这里安装 mysql 5.7 版本为例

1,首先下载一个网络源仓库:

yum install http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm

然后会在 //etc/yum.repos.d/ 目录下生成一个仓库:

mysql-community.repo

2,然后安装 mysql-community-server

yum	mysql-community-server

等待安装完成。

3,启动mysqld 服务

systemctl start mysqld
查询临时登录密码
awk '/temporary password/ {print $NF}' /var/log/mysqld.log 

4,然后登录数据库

mysql -uroot -p密码

5,初次登录要设置密码,而且不能太简单

修改密码
alter user root@localhost identified by 'RedHat@123';

6,这个时候yum安装方式就装好了

二,通用二进制安装mysql

通用二进制安装mysql是比较重要的,通常在生产环境中使用这样的方法安装。

通用二进制安装步骤

1,网络获取到通用二进制的压缩包

可以参考以下链接获取二进制包,

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

我获取的二进制包为:

mysql-5.7.14-linux-glibc2.5-x86_64.tar

2,创建mysql用户及组

创建用户及用户组的原因大概是保证mysql的安全以及独立性,mysql 服务的权限给定mysql用户和组后,mysql即使被黑了也只能获取到mysql 用户的权限,而不是默认root权限,而且影响不到其他用户的文件等。

创建mysql组
groupadd -r mysql
创建mysql用户,-r 为系统用户,-g为属组,-c为描述信息 , -s 指定shell,/bin/false 是最严格的禁止login选项,该用户不能登录系统以及不会有任何提示useradd mysql -r -g mysql -c "MySQL Server" -s /bin/false

3,解压

将解压文件放到: /usr/local 下

tar xf mysql-5.7.14-linux-glibc2.5-x86_64.tar -C /usr/local
等待解压

解压后发现 目标目录中有以下2个包:

mysql-5.7.14-linux-glibc2.5-x86_64.tar.gz
mysql-test-5.7.14-linux-glibc2.5-x86_64.tar.gz

再解压以下文件到 /usr/local/

tar -xf /usr/local/mysql-5.7.14-linux-glibc2.5-x86_64.tar.gz -C /usr/local/

解压后得到以下包:

mysql-5.7.14-linux-glibc2.5-x86_64

4,创建软链接,方便以后升级和操作

将最后解压出来这个包加上软链接

	-s 创建软链接    -v 打印出每个链接文件的名字(详细信息)。mysql链接了 mysql-5.7.14-linux-glibc2.5-x86_64 ln -sv /usr/local/mysql-5.7.14-linux-glibc2.5-x86_64 /usr/local/mysql

5,初始化数据库

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

执行成功了会生成一个随机的初始密码:7%Lryrrh487f (各不相同)

6,提供配置文件和服务启动脚本

将/usr/local/mysql/support-files/my-default.cnf 中配置文件的样例复制到 /etc/my.cnf

 cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf

并且在 /etc/my.cnf 中 的 [mysqld] 中写入:

basedir = /usr/local/mysql
datadir = /usr/local/mysql/data

7,添加 mysql 服务

cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
添加系统服务,并设置开机自启动chkconfig --add mysqldchkconfig mysqld on

8,起动mysql,并且配置环境变量

 /usr/local/mysql/bin/mysqld_safe --user=mysql &配置环境变量:
vim /etc/profile.d/mysql.sh    写入以下。
export PATH=/usr/local/mysql/bin:$PATH

然后刷新:

source /etc/profile.d/mysql.sh

9,初次登录数据库

mysql -uroot -p

登录密码是之前生成那个

10,设置改密码

初次登录进去了操作不了什么,需要先改密码

设置本地 root 密码为123
alter user root@localhost identified by '123';

然后退出,就可以用新密码进入了

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/14768.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【ROS】TF2坐标转换及实战示例

Halo,这里是Ppeua。平时主要更新C,数据结构算法…感兴趣就关注我吧!你定不会失望。 文章目录 0.ROS中的坐标转换消息包0.1 geometry_msgs/TransformStamped0.2 geometry_msgs/PointStamped1.静态坐标转换1.1导入所需功能包1.2发布方实现1.3 …

【InnoDB 存储引擎】InnoDB 存储引擎的行格式,有 Compact、Redundant、Dynamic 等行格式还有它们配套实验(实验篇)

文章目录 1 InnoDB 行记录格式(实验)1.1 Compact 行格式实验1.1.1 实验步骤1.1.2 分析捞出来的数据1.1.3 疑问 1.2 Redundant 行格式实验1.2.1 实验步骤1.2.2 分析捞出来的数据 1.3 CHAR 列类型的存储1.3.1 实验步骤1.3.2 分析捞出来的数据 2 参考资料 1…

pnpm装包报错Run “pnpm install“ to recreate the modules directory.

一、先看报错 执行 pnpm install 装包报错 报错信息 ERR_PNPM_PUBLIC_HOIST_PATTERN_DIFF  This modules directory was created using a different public-hoist-pattern value. Run "pnpm install" to recreate the modules directory.二、解决方法 在项目根目录中…

【Zabbix 监控设置】

目录 一、添加 zbx-agent01 客户端主机1、服务端和客户端都配置时间同步2、服务端和客户端都设置 hosts 解析3、设置 zabbix 的下载源,安装 zabbix-agent24、修改 agent2 配置文件5、启动 zabbix-agent26、在服务端验证 zabbix-agent2 的连通性1、常用的键值 7、在 …

基于云原生网关的全链路灰度实践

作者: 倪海峰(海迩) 前言 随着企业规模的不断扩大,传统单体应用已很难进一步支持业务的发展,业务的迭代速度已经难以满足业务的增长,此时企业会对应用系统做微服务化的改造,降低业务的耦合度&…

Opencv图片样本预处理

前因 最近想学学,OPENCV识别物体,但是处理图片正样本时过于繁琐, 遂自己开发了工具,来处理样本图片,基于QT,文末附下载链接 程序 功能 一共有两个功能,一个是处理负样本,一个处理…

Spring Boot源码解读与原理分析(一):项目启动流程(上)——@SpringBootApplication

文章目录 〇、准备工作一、SpringBootApplication.java源码解析1.源码2.自定义注解3.组合注解4.注解ComponentScan过滤器 5.注解SpringBootConfigurationConfiguration 6.注解EnableAutoConfiguration 本文章是Spring Boot源码解读与原理分析系列博客的第一篇,将会介…

【js小案例】视频倍数播放、计算机、待办事项管理

视频倍数播放示例图&#xff1a; 视频倍数播放代码&#xff1a; <!DOCTYPE html> <html> <head><meta charset"UTF-8"><title>控制视频播放速度</title> </head> <body><video id"myVideo" width&quo…

10.1UEC++/UObject/UClass/UFunction/UPropret

1. 1.new出的对象&#xff0c;不用自己管理内存释放&#xff1b; 2.比如两个类对象指针a,b同时指向一个苹果&#xff0c;若苹果消亡&#xff0c;会将a,b同时指向空。 3.保存时&#xff0c;将工程中的actor&#xff0c;属性等能够保存在本地就是uob在发挥作用。 4.不管在ue&…

机器学习25:《数据准备和特征工程-III》采样和分隔

目录 1.采样和分割数据 1.1 抽样简介 1.2 过滤 PII&#xff08;个人身份信息&#xff09; 2.数据不平衡 2.1 下采样和增加权重 3.数据分割示例 3.1 随机分割可能不是最好的方法 4.分割数据 5.随机化 5.1 实际考虑 5.2 散列的注意事项 6.参考文献 1.采样和分割数据-…

时间序列预测 | Matlab自回归差分移动平均模型ARIMA时间序列预测

文章目录 效果一览文章概述部分源码参考资料效果一览 文章概述 时间序列预测 | Matlab自回归差分移动平均模型ARIMA时间序列预测,单列数据输入模型 评价指标包括:MAE、RMSE和R2等,代码质量极高,方便学习和替换数据。要求2018版本及以上。 部分源码 %% 清空环境变量 warnin…

Linux开发工具之【vim】

Linux开发工具之【vim】 文章目录&#xff1a; Linux开发工具之【vim】1. Linux软件包管理器yum1.1 查看软件1.2. 下载软件1.3 卸载软件 2. vim编辑器的使用2.1 vim常用模式2.2 vim基本操作2.3 vim命令模式命令集2.3.1 移动光标2.3.2 删除文字2.3.3 复制文本内容2.3.4 替换文本…