首先下载好rpm离线包,然后解压到CentOS下

在这里插入图片描述

放到CentOS下,解压到任意目录下
在这里插入图片描述

在这里插入图片描述

tar xf mysql-5.7.35-1.el7.x86_64.rpm-bundle.tar

[root@localhost local]# pwd
/usr/local

其中: 
mysql-community-client 客户端 
mysql-community-devel 开发库 
mysql-community-common 服务端和客户端的公共文件 
mysql-community-embedded 嵌入式 
mysql-community-serve 服务端 
mysql-community-test 测试组件 
mysql-community-libs 共享库 
mysql-community-libs-compat MySQL之前版本的共享兼容库

首先限制mariadb相关软件包,否则mysql不会安装成功

yum remove mariadb-libs

之后按照顺序安装四个包

rpm -ivh 
	mysql-community-common-	5.7.14-1.el7.x86_64.rpm 
	mysql-community-libs-5.7.14- 1.el7.x86_64.rpm 
	mysql-community-client-5.7.14-1.el7.x86_64.rpm 
	mysql-community-server-5.7.14-1.el7.x86_64.rpm

在这里插入图片描述

四个包安装完成后,启动mysql服务

systemctl start mysqld 
systemctl enable mysqld

在这里插入图片描述

获取随机密码

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

在这里插入图片描述

进入mysql终端后,修改密码

进入MySQL终端: 
ALTER USER 'root'@'localhost' IDENTIFIED BY 'root'; 如果报错,说明密码太短,  MySQL没有认证成功,可以修改	认证规则: 
set global validate_password_policy=0; 
set global validate_password_length=1; 
注意,8.0版本这两个全局属性名称变化为: validate_password.policy和validate_password.length 
所以修改命令为: 
set global validate_password.policy=0; 
set global validate_password.length=1; 
再次修改就OK了

在这里插入图片描述

通用二进制安装mysql

在这里插入图片描述

先上传离线包,并且解压缩
给包找好解压的位置

tar xf mysql-5.7.30-linux-glibc2.12-x86_64.tar.gz -C /usr/local

解压完成就是下面图片的样子

在这里插入图片描述

创建mysql组和用户

[root@bogon local]# groupadd mysql -r -g 306
[root@bogon local]# useradd -r -g mysql -s /bin/false -u 306 mysql

在这里插入图片描述

为mysql创建软链接

ln -sv mysql-5.7.30-linux-glibc2.12-x86_64 mysql
	"mysql" -> "mysql-5.7.30-linux-glibc2.12-x86_64"
#修改mysql的权限
chown -R mysql.mysql mysql/*

在这里插入图片描述

初始化mysql,获取随机密码

在这里插入图片描述

查看一下配置文件

 vim /etc/init.d/mysql.server

在这里插入图片描述

写上这两个配置文件(原配置文件默认没有写)

启动mysql服务

systemctl start mysql.server

这个时候启动服务会产生报错,这里报错是因为之前删mariadb的时候没有删干净,mariadb的目录与mysql目录冲突了

所以修改一下mysql提供主配置文件

在这里插入图片描述
修改圈出来的配置文件路径
之前忘记截图了,所以前两个已经改好了

#这是后面两个
log-error=/var/log/mysql.log
pid-file=/data/mysql/mysql.pid

为mysql提供服务脚本
在这里插入图片描述

启动mysql服务,但会报错
在这里插入图片描述

所以检查selinux和防火墙有没有关闭

临时停掉selinux:# setenforce 0

永久关闭selinux:

#vi /etc/sysconfig/selinux

查看防火墙状态:# systemctl  is-active firewalld.service

永久关闭防火墙:# systemctl disable firewalld

在这里插入图片描述

再次启动mysql服务
这里也会报错,说未找到命令,但使用绝对路径就可以进去
在这里插入图片描述

[root@bogon ~]# /usr/local/mysql/bin/mysql -uroot -p'fAbouq=:W4Lv'

进入之后修改密码

ALTER USER 'root'@'localhost' IDENTIFIED BY 'root';

但每次用绝对路径进入很麻烦,所以修改一下
配置环境变量

vim /etc/profile.d/mysql.sh
	export PATH=$PATH:/usr/local/mysql/bin
这个配置完之后需要重新启动
#当前生效
source /etc/profile.d/mysql.sh

在这里插入图片描述
使用mysql -uroot -p进入就可以了

在这里插入图片描述

MySQL体系结构

!!!mysql各个存储引擎概述:
innodb存储引擎:
面向oltp(online transaction processing)、行锁、支持外键、非锁定读、默认采用repeaable级别(可重复读)通过next-keylocking策略避免幻读、插入缓冲、二次写、自适应哈希索引、预读
myisam存储引擎:
不支持事务、表锁、全文索引、适合olap(在线分析处理),其中myd:放数据文件,myi:放索引文件
ndb存储引擎:
集群存储引擎,share nothing,可提高可用性
memory存储引擎:
数据存放在内存中,表锁,并发性能差,默认使用哈希索引
archive存储引擎:
只支持insert和select zlib算法压缩1:10,适合存储归档数据如日志等、行锁
maria存储引擎:
目的取代myisam、缓存数据和索引、行锁、mvcc

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐