• 在CentOS下安装MySQL


    首先下载好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之前版本的共享兼容库
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14

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

    yum remove mariadb-libs
    
    • 1

    之后按照顺序安装四个包

    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
    
    • 1
    • 2
    • 3
    • 4
    • 5

    在这里插入图片描述

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

    systemctl start mysqld 
    systemctl enable mysqld
    
    • 1
    • 2

    在这里插入图片描述

    获取随机密码

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

    在这里插入图片描述

    进入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了
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    在这里插入图片描述

    通用二进制安装mysql

    在这里插入图片描述

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

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

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

    在这里插入图片描述

    创建mysql组和用户

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

    在这里插入图片描述

    为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/*
    
    • 1
    • 2
    • 3
    • 4

    在这里插入图片描述

    初始化mysql,获取随机密码

    在这里插入图片描述

    查看一下配置文件

     vim /etc/init.d/mysql.server
    
    • 1

    在这里插入图片描述

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

    启动mysql服务

    systemctl start mysql.server
    
    • 1

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

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

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

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

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

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

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

    临时停掉selinux:# setenforce 0
    
    永久关闭selinux:
    
    #vi /etc/sysconfig/selinux
    
    查看防火墙状态:# systemctl  is-active firewalld.service
    
    永久关闭防火墙:# systemctl disable firewalld
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    在这里插入图片描述

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

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

    进入之后修改密码

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

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

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

    在这里插入图片描述
    使用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

    先自我介绍一下,小编13年上师交大毕业,曾经在小公司待过,去过华为OPPO等大厂,18年进入阿里,直到现在。深知大多数初中级java工程师,想要升技能,往往是需要自己摸索成长或是报班学习,但对于培训机构动则近万元的学费,着实压力不小。自己不成体系的自学效率很低又漫长,而且容易碰到天花板技术停止不前。因此我收集了一份《java开发全套学习资料》送给大家,初衷也很简单,就是希望帮助到想自学又不知道该从何学起的朋友,同时减轻大家的负担。添加下方名片,即可获取全套学习资料哦

  • 相关阅读:
    23.Python文件I/O(一)【详解open()函数&上下文管理器with...as】
    C++模板
    2022-11-11 mysql-表间关联算法—BNL
    SpringBoot 2.3.12.RELEASE整合RabittMQ 3.8.12
    【Vue】插件的定义和使用
    DDPM交叉熵损失函数推导
    交叉编译 笔记
    消息队列|RabbitMQ入门概述
    金仓数据库KingbaseES客户端应用参考手册--20. wrap
    ShineBlink超低代码IoT芯片App远程控制继电器接入机智云
  • 原文地址:https://blog.csdn.net/bhegi_seg/article/details/126081041