【MySQL体系结构及CetOS7安装MySQL和修改密码】

MySQL体系结构及安装MySQL

  • MySQL体系结构
  • CentOS7安装MySQL四种方法
    • 1、离线安装
    • 2、在线安装
    • 3、通用二级制方式
    • 4、容器方式安装
  • 设置及修改密码
  • 忘记密码恢复

MySQL体系结构

MySQL是一种常用的关系型数据库管理系统(RDBMS),其体系结构包括以下:
1、连接池:管理缓冲用户连接,线程处理等需要缓存的需求
2、查询缓存:用于缓存查询的结果,当相同的查询再次执行时,可以直接从缓存中获取结果,提高查询性能
3、解析器:对SQL语句进行解析,验证语法正确性
4、优化器:对查询进行优化,会考虑索引、表大小等因素,提高查询性能
5、SQL接口:接受用户的SQL命令,并返回用户需要的结果
6、存储引擎:负责实际的数据存储和检索
7、Management Serveices & Utilities:提供管理和控制的工具
8、Connectors:不同语言中与SQL的交互

CentOS7安装MySQL四种方法

1、离线安装

去MySQL官网下载适合的包,然后导入虚拟机

在这里插入图片描述
在这里插入图片描述
执行以下命令进行解压

[root@localhost mysql]# tar xf mysql-5.7.18-1.el7.x86_64.rpm-bundle.tar

解压之后
在这里插入图片描述

在安装这四个包之前先卸载mariadb-libs

[root@localhost mysql]# rpm -e  mariadb-libs postfix

然后再安装

[root@localhost mysql]# yum localinstall -y mysql-community-server-5.7.18-1.el7.x86_64.rpm mysql-community-client-5.7.18-1.el7.x86_64.rpm mysql-community-common-5.7.18-1.el7.x86_64.rpm mysql-community-libs-5.7.18-1.el7.x86_64.rpm

启动mysql服务

[root@localhost mysql]# systemctl start mysqld

过滤密码

[root@localhost mysql]# awk '/temporary password/{print $NF}' /var/log/mysqld.log

登录

[root@localhost mysql]# mysql -uroot -p'ca3x8RA*QFlq'

修改密码

mysql> alter user root@localhost identified by '符合规则的密码即可';

2、在线安装

1、可以配置一个安装yum源

[root@localhost ~]# yum install http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm

可以手动配置yum源

[root@localhost ~]# cd /etc/yum.repos.d/
[root@localhost yum.repos.d]# cat mysql.repo
[mysql]
name=mysql5.7
baseurl=http://mirrors.tuna.tsinghua.edu.cn/mysql/yum/mysql-5.7-community-el7-x86_64/
gpgcheck=0

2、接下来安装

[root@localhost ~]# yum install mysql-community-server

剩下的操作就是启动服务,改密,跟上面操作一样

3、通用二级制方式

1、下载包—glibc
在这里插入图片描述
在这里插入图片描述
官方文档
在这里插入图片描述
在这里插入图片描述

[root@localhost ~]# groupadd -r mysql
[root@localhost ~]# useradd mysql -r -g mysql -c "MySQL Server" -s /bin/false
[root@localhost ~]# tar xf mysql-5.7.14-linux-glibc2.5-x86_64.tar -C /usr/local
#tar包需要解压两次,不清楚的到/usr/local下查看是否解压完成
[root@localhost ~]# tar xf /usr/local/mysql-5.7.14-linux-glibc2.5-x86_64.tar.gz -C /usr/local/
#创建软链接,为了以后方便升级
[root@localhost ~]# ln -sv /usr/local/mysql-5.7.14-linux-glibc2.5-x86_64 /usr/local/mysql/usr/local/mysql’ -> ‘/usr/local/mysql-5.7.14-linux-glibc2.5-x86_64’
[root@localhost ~]# /usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data
#执行上面这条命令后,临时密码会在后面显示
#提供配置文件和服务脚本减少启动流程
[root@localhost ~]# cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf
cp: overwrite ‘/etc/my.cnf’? yes

提供配置文件

[root@localhost ~]# vim /etc/my.cnf

在这里插入图片描述

服务脚本

[root@localhost ~]# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
#添加服务,提供脚本
[root@localhost ~]# chkconfig --add mysqld
[root@localhost ~]# chkconfig mysqld on

启动MySQL

[root@localhost ~]# /usr/local/mysql/bin/mysqld_safe --user=mysql &

配置环境变量

[root@localhost ~]# vim /etc/profile.d/mysql.sh
export PATH=/usr/local/mysql/bin:$PATH

执行

[root@localhost ~]# cd /etc/profile.d/
[root@localhost profile.d]# . mysql.sh

其余操作一样

4、容器方式安装

1、安装一些必要的系统工具

[root@localhost ~]# yum install -y yum-utils device-mapper-persistent-data lvm2

2、添加软件源信息并修改

[root@localhost ~]# yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
[root@localhost ~]# sed -i 's+download.docker.com+mirrors.aliyun.com/docker-ce+' /etc/yum.repos.d/docker-ce.repo

3、更新并安装Docker-CE

[root@localhost ~]# yum makecache fast
[root@localhost ~]# yum -y install docker-ce

4、重启并开启docker服务

[root@localhost ~]# systemctl daemon-reload
[root@localhost ~]#  systemctl restart docker
[root@localhost ~]# systemctl enable docker

容器方式启动MySQL

[root@localhost ~]# docker run --name mysql -d -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7
#进入容器
[root@localhost ~]#  docker exec -it mysql bash
bash-4.2# mysql -uroot -p123456

剩余操作一样

设置及修改密码

方法1:

[root@localhost ~]# mysqladmin -uroot -p password

方法2:

mysql> alter user root@localhost identified by '密码';

方法3:

mysql> SET PASSWORD FOR 'root'@'localhost' = '密码';

忘记密码恢复

启动时跳过权限表,
/etc/my.cnf配置文件添加[mysqld]
skip-grant-tables
方法1:

mysql> update mysql.user set authentication_string=password('密码')
-> where user='root' and host='localhost';
mysql> flush privileges;

方法2:

mysql> flush privileges;
mysql> ALTER USER root@localhost identified by '密码';

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

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

相关文章

更改VS code Jupyter 插件的默认快捷键

更改vscode 中Jupyter插件的默认快捷键,解放插入空行的系统快捷键 替换Jupyter默认快捷键 更改vscode 中Jupyter插件的默认快捷键,解放插入空行的系统快捷键打开keyboard shortcuts 设置方法一方法二 更换快捷键 end Jupyter 插件很好的在VS code中集成了…

华为OD机试真题B卷 Python 实现【整理扑克牌】,附详细解题思路

目录 一、题目描述步骤1步骤2步骤3 二、输入描述三、输出描述四、解题思路五、Python算法源码六、效果展示1、输入2、输出3、说明 一、题目描述 给定一组数字,表示扑克牌的牌面数字,忽略扑克牌的花色,请按如下规则对这一组扑克牌进行整理&am…

系统移植 kernel 移植 配置网卡IP NFS网络文件系统移植 7.4

给fs4412移植内核 Kernel(内核)是操作系统的核心组件,它负责管理计算机硬件和软件资源,提供对底层硬件的访问和控制,以及为应用程序提供运行环境。内核是操作系统的最底层,负责处理系统的各种任务和功能&a…

Docker学习笔记17

跨主机容器间网络: 实现跨主机容器间通信的工具: 1)Pipework 2)Flannel 3)Weave 4)Open V Switch (OVS) 5)Calico 1. Weave: 在每个宿主机上布置一个特…

ChatGPT:为教育创新提供五大机遇

随着智能技术的不断发展,ChatGPT在教育场景中的创新价值可能比我们能够意识到的还要多。比如它可以自动处理作业、在线答疑,可以辅助语言学习、实时沟通,甚至还可以用于评估诊断、科学研究。国内外关于利用ChatGPT实现教育创新的场景描绘已经…

论文浅尝 | 大语言模型综述

笔记整理:刘康为、方润楠,浙江大学硕士,研究方向为自然语言处理 链接:https://arxiv.org/abs/2303.18223 一、介绍 在当前机遇和挑战的背景下,对大语言模型的研究和开发需要更多的关注。为了让读者对大语言模型有一个基…

从零开始:如何用Python建立你的第一个人工智能模型

1. 摘要: 在这篇文章中,我们将介绍如何从零开始使用Python建立你的第一个人工智能模型。无论你是刚接触编程的新手,还是有经验的开发者想进一步探索人工智能领域,这篇文章都将为你提供清晰、详细的指南。我们将一步步探索数据预处…

matlab画拟合直方图的脚本

都是一些简单的作图参数,可以自己按照matlab官方的指导去改style https://ww2.mathworks.cn/help/stats/histfit.html %-----------------------------------------------------------------------------------------------------------% %-----Function: Plot a h…

解决阿里qiankun微应用资源无法加载

公司老项目多了,却想用新版本的框架,最好的解决办法就是用微前端。 本文说下我们在用阿里微前端框架qiankun,遇到的一些问题,以及一些巧妙的解决办法。 背景 因为接入微前端很长时间了,导致现在的微应用变成了实际意…

ikbc键盘2.4G接收器丢失,重新对码

我的键盘:ikbc W200 1.键盘关掉重开; 2.新接收器插在电脑上; 3.电脑上打开软件,点开始对码,一会就连接上了。 对码软件放在这里: 我用夸克网盘分享了「IKBC 对码.rar」,点击链接即可保存。打开…

进程(process)、线程(thread)、协程 (Coroutine) 的区别

说到协程(Coroutine),我们必须提到两个名称相似的东西。 在操作系统(os)级别,有进程(process)和线程(thread)两个(仅从我们常见的讲)实际的“东西”&#xff…

redis面试题

面试题汇总 Redis的使用场景什么是缓存穿透,有什么解决方案?能否介绍一下布隆过滤器布隆过滤器? 什么是缓存击穿 ? 怎么解决 ?什么是缓存雪崩 ? 怎么解决 ?redis做为缓存,mysql的数据如何与redis进行同步呢?&#…