• 【MySQL入门实战5】-Linux PRM 包安装MySQL


    📢📢📢📣📣📣
    哈喽!大家好,我是【IT邦德】,江湖人称jeames007,10余年DBA工作经验
    一位上进心十足的【大数据领域博主】!😜😜😜
    中国DBA联盟(ACDU)成员,目前从事DBA及程序编程
    擅长主流数据Oracle、MySQL、PG 运维开发,备份恢复,安装迁移,性能优化、故障应急处理等。
    ✨ 如果有对【数据库】感兴趣的【小可爱】,欢迎关注【IT邦德】💞💞💞
    ❤️❤️❤️感谢各位大可爱小可爱!❤️❤️❤️

    前言

    本文中的部署是RPM包基于RHEL8的操作系统安装MySQL8.0

    📣 1.概述

    RPM是Redhat Package Manager的缩写,是由RedHat公司开发的软件包安装和管理程序,使用RPM,用户可以自行安装和管理Linux上的应用程序和系统工具。可以让用户直接以binary方式安装软件包,用此种方式安装MySQL,方便快捷,生产上推荐使用此种方法。以下部署是RPM包基于RHEL8的操作系统安装MySQL8.0。

    📣 2.环境准备

    1.操作系统
    [root@jeames ~]# cat /etc/redhat-release
    Red Hat Enterprise Linux release 8.1 (Ootpa)

    2.关闭防火墙
    [root@jeames ~]# systemctl stop firewalld
    #取消开机自启动
    [root@jeames ~]# systemctl disable firewalld
    Removed /etc/systemd/system/multi-user.target.wants/firewalld.service.
    Removed /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.

    3.selinux关闭
    修改参数文件/etc/sysconfig/selinux中SELINUX的值为disabled
    [root@jeames ~]# sed -i ‘s/SELINUX=enforcing/SELINUX=disabled/g’ /etc/selinux/config
    修改完成后需要重启才生效

    📣 3.RPM安装包下载

    官网下载地址:https://dev.mysql.com/downloads/mysql/
    RPM包下载选择Red Hat Enterprise Linux / Oracle Linux

    在这里插入图片描述

    📣 4.离线yum配置

    在这里配置本地yum源,企业服务器不连外网,一般使用通过插入镜像盘或者U盘做依赖源,yum配置好后安装MySQL的依赖包即可。

    1.创建挂载路径
    mkdir -p /mnt/cdrom
    
    2.挂载系统镜像光盘到指定目录
    mount -t iso9660 /dev/sr0 /mnt/cdrom
    
    3.修改yum源配置文件
    # 编辑rhel8-local.repo文件
    cd /etc/yum.repos.d
    vi rhel8-local.repo
    
    [localREPO]
    name=localhost8
    baseurl=file:///mnt/cdrom/BaseOS
    enable=1
    gpgcheck=0
    
    [localREPO_APP]
    name=localhost8_app
    baseurl=file:///mnt/cdrom/AppStream
    enable=1
    gpgcheck=0
    
    # baseurl:
    这个是非常重要的一环,表明了repositry的地址,支持ftp协议,http协议和file协议;
    # enabled=0/1:
    只有两个值,为1时表示repositry可以获取,0表示关闭
    # gpgcheck=0/1:
    有1和0两个选择,分别代表是否是否进行gpg校验,如果没有这一项,默认是检查的
    
    4.配置好后重建本地缓存
    yum clean all 
    yum makecache 
    yum repolist
    
    说明:这一步主要是确保yum能正常使用
    
    5.安装依赖包
    yum -y install lrzsz wget perl-Digest-MD5
    yum -y install numactl
    yum -y install ncurses ncurses-devel openssl-devel bison gcc gcc-c++ make
    
    说明:这些依赖包都是MySQL 8.0版本所必须的
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43

    📣 5.添加用户及组

    以root用户登陆到服务器,在创建用户及组之前,检查是否存在mysql用户组

    1.添加组
    [root@jeames ~]# groupadd mysql
    删除组:groupdel users

    2.用户加到组并指定根目录
    [root@jeames ~]# useradd -g mysql -d /home/mysql mysql
    删除用户:userdel mysql

    3.修改密码
    [root@jeames ~]# passwd mysql
    New password:
    BAD PASSWORD: The password is shorter than 8 characters
    Retype new password:
    passwd: all authentication tokens updated successfully.

    📣 6.安装MySQL

    将下载好的rpm包上传到服务器,按照如下步骤安装部署。

    1.校验安装包
    [root@jeames ~]# md5sum mysql-8.0.27-1.el8.x86_64.rpm-bundle.tar
    edf4d0f95867f62cdcc97b7349bedc59 mysql-8.0.27-1.el8.x86_64.rpm-bundle.tar
    注: md5sum是linux下的shell命令,功能是计算检验MD5效验码,此处是为了MySQL安装包损坏
    
    2.解压安装包
    [root@jeames ~]# tar -xvf mysql-8.0.27-1.el8.x86_64.rpm-bundle.tar -C /home/mysql/
    必须安装的四个rpm包
    mysql-community-common-8.0.27-1.el8.x86_64.rpm --必须,它是公共库
    mysql-community-libs-8.0.27-1.el8.x86_64.rpm --它是开发库
    mysql-community-client-8.0.27-1.el8.x86_64.rpm --它是客户端的安装包
    mysql-community-server-8.0.27-1.el8.x86_64.rpm --它是服务端的安装包
    
    3.授权
    [root@jeames ~]# chown -R mysql:mysql /home/mysql/
    
    4.rpm包安装
    [root@jeames ~]# cd /home/mysql/
    注:包之间相互依赖,所以必须注意安装顺序,先装common,再装libs,再装 client,最后装 server
    [root@jeames mysql]# rpm -ivh  mysql-community-common-8.0.27-1.el8.x86_64.rpm
    [root@jeames mysql]# rpm -ivh --force --nodeps mysql-community-libs-8.0.27-1.el8.x86_64.rpm
    [root@jeames mysql]# rpm -ivh mysql-community-client-8.0.27-1.el8.x86_64.rpm --force --nodeps
    [root@jeames mysql]# rpm -ivh mysql-community-server-8.0.27-1.el8.x86_64.rpm --force --nodeps
    
    5.确认rpm包安装是否安装
    [root@jeames mysql]# rpm -qa | grep mysql
    mysql-community-common-8.0.27-1.el8.x86_64
    mysql-community-server-8.0.27-1.el8.x86_64
    mysql-community-libs-8.0.27-1.el8.x86_64
    mysql-community-client-8.0.27-1.el8.x86_64
    6.初始化
    [root@jeames mysql]# mysqld --initialize
    
    7.大小写铭感参数设置
    cat /etc/my.cnf配置文件里可以修改
    只需要在就需要在[mysqld]下面添加一行配置,
    即 lower_case_table_names=0
    其中 0表示区分大小写,1表示不区分大小写
    此处的目的是为了开发的规范,Linux环境一般是要求区分大小写
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39

    📣 7.MySQL启动

    使用rpm包安装,RHEL8操作系统会使用systemctl方便灵活的管理MySQL服务,记得设置开机自启动。

    1.查看 MySQL服务
    [root@jeames ~]# ps -ef | grep mysql
    [root@jeames ~]# systemctl status mysqld

    2.文件所有者和文件关联组授权
    [root@jeames ~]# chown mysql:mysql /var/lib/mysql -R

    3.启动服务
    [root@jeames ~]# systemctl start mysqld
    [root@jeames ~]# systemctl status mysqld

    4.设置开机自启动
    [root@jeames ~]# systemctl enable mysqld

    5.查看临时密码
    [root@jeames ~]# cat /var/log/mysqld.log | grep password

    如下图所示,可以确认MySQL的服务已正常运行,若无法启动,请排查错误日志。

    在这里插入图片描述

    📣 8.创建远程用户

    MySQL的用户认证形式是: 用户名+主机,MySQL的主机信息可以是本地(localhost),某个IP,某个IP段,以及任何地方等。要从其他IP访问MySQL,就需要创建远程用户。

    1.临时密码登陆
    [root@jeames ~]# grep 'temporary password' /var/log/mysqld.log
    [root@jeames ~]# mysql -uroot -p
    
    2.修改本地root用户密码
    mysql> alter user root@'localhost' identified with 
    mysql_native_password by 'root';
    mysql> flush privileges;
    mysql> select Host,User from mysql.user;
    
    3.创建远程root用户
    mysql> create user root@'%' identified with mysql_native_password by 'root';
    mysql> grant all on *.* to root@'%' with grant option;
    mysql> flush privileges;
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14

    修改后通过其他IP就可以正常访问MySQL数据库了,如下图所示:

    在这里插入图片描述

    ✨ 每日一练

    drop、delete与truncate的区别是什么?( )
    1.三者都表示删除,但是三者有一些差别:
    2.在不再需要一张表的时候,用drop;
    3.在想删除部分数据行时候,用delete;
    4.在保留表而删除所有数据的时候用truncate。
    A.4
    B.1, 2, 3
    C.全部都对
    D.2, 3, 4

    ❤️❤️❤️ 请在评论区留下你的答案,我会做出详细的解答。

    在这里插入图片描述

  • 相关阅读:
    net core 反射获取泛型-泛型方法method<T>(T t1)
    如何在Windows上安装并启动MySql
    全球名校AI课程库(45)| AMMI · 几何深度学习课程『Geometric Deep Learning』
    Python爬虫-使用代理伪装IP
    Spring AOP使用示例
    Python中使用requests库遇到的问题及解决方案
    利用FastReport传递图片参数,在报表上展示签名信息
    工良出品:包教会,Hadoop、Hive 搭建部署简易教程
    Spark案例实际操作
    Mybatis传参parameterType为List<Map>
  • 原文地址:https://blog.csdn.net/weixin_41645135/article/details/131586712