likes
comments
collection
share

MySQL安装配置及卸载(超详细、各种安装方式)本篇主要围绕讲解在 红帽派系(RedHat、Centos7)、Debia

作者站长头像
站长
· 阅读数 22

一:序

MySQL安装配置及卸载(超详细、各种安装方式)本篇主要围绕讲解在 红帽派系(RedHat、Centos7)、Debia

  本篇主要围绕讲解在 红帽派系(RedHat、Centos7)、Debian派系(Debian、Ubuntu)、Windows派系 这几种方式的在线以及离线的安装和卸载。   关于红帽派系就以Centos7为主、Debian派系就以 Ubuntu 24.04 LTS 为主。Linux版本的安装会涉及到包管理器安装方式(apt、yum)以及使用纯安装包的方式(deb、rpm);涉及到Windows的话就会分为安装版和解压版两种方式。   注意:apt、deb都属于Ubuntu的包管理器和安装包;yum、rpm都属于Centos的包管理器和安装包。

注:文章可能会很长,大伙可以按照指定的目录跳转阅读。\color{#f00}{注:文章可能会很长,大伙可以按照指定的目录跳转阅读。}注:文章可能会很长,大伙可以按照指定的目录跳转阅读。

二:下载MySQL管理软件

  MySQL官网地址:www.mysql.com/cn/  进入链接后点击 下载;在了解了下面的几个版本后,我们就可以确定需要下载哪种类型的版本,本篇文章我以社区版的下载讲解为主。

MySQL Community Server(社区版本,平常使用这个):
    开源免费,自由下载,但不提供官方技术支持,适用于大多数普通用户。'(基本上公司都是选这个的)'
MySQL Enterprise Edition(企业版本):
    付费,不能在线下载,试用30天。提供更多的功能和技术支持,更适合于对数据库的功能和可靠性要求较高的企业客户。
MySQL NDB Cluster CGE(集群版和高级集群版):
    开源免费。用于架设集群服务器,可将几个MySQL Server封装成一个Server。需要在社区版或企业版的基础上使用。
    但是对于CGE的高级集群则需要收费。

官方还提供了MySQL Workbench(GUITOOL)一款专为MySQL设计的图形界面管理工具。
MySQL Workbench又分为两个版本,分别是社区版(MySQL Workbench OSS)、商用版(MySQL WorkbenchSE)

MySQL安装配置及卸载(超详细、各种安装方式)本篇主要围绕讲解在 红帽派系(RedHat、Centos7)、Debia

MySQL安装配置及卸载(超详细、各种安装方式)本篇主要围绕讲解在 红帽派系(RedHat、Centos7)、Debia   按照上图就可以下载Windows操作系统的版本,注意在线上环境不推荐下载安装MySQL9.0的创新版(我称它为尝鲜版,等稳定再用); 其实企业使用最多的还是稳定的 8.4 LTS 版本以及 5.7 版本。

(一):MySQL的Linux版下载

  本篇针对 MySQL 5.7 以及 MySQL 8.4 LTS 两种版本来说明,列举日常下载不同平台的版本示例。下面下载的都不是最新版本,最新版本参考上面。   说明:x86指的是PC端,CPU采用x86的架构,内部使用的是复杂指令集(CISC),一般我们使用的桌面电脑、笔记本和服务器都是这种架构。ARM指的是移动端,CPU采用ARM的架构,内部使用的是精简指令集(RISC),一般我们使用的智能手机、平板、物联网设备都是采用这种架构。   关于MySQL下载注意,Ubuntu 24.04 LTS 系统中安装MySQL5.7版本的deb安装包会出现兼容性问题,其中libc6-dev依赖存在版本问题,需要将libc6-dev依赖版本降级,这里不推荐这种做法,所以使用Ubuntu24时推荐安装MySQL8.4版本。 下载Ubuntu−24.04(LTS)版本的MySQL8.4\color{#FFC125}{下载Ubuntu-24.04(LTS)版本的MySQL8.4}下载Ubuntu24.04LTS)版本的MySQL8.4 MySQL安装配置及卸载(超详细、各种安装方式)本篇主要围绕讲解在 红帽派系(RedHat、Centos7)、Debia

下载Ubuntu−22.04(LTS)版本的MySQL5.7\color{#FFC125}{下载Ubuntu-22.04(LTS)版本的MySQL5.7}下载Ubuntu22.04LTS)版本的MySQL5.7   下载的这个MySQL5.7版本在Ubuntu18、20、22这几个版本的系统都是可以正常安装。 MySQL安装配置及卸载(超详细、各种安装方式)本篇主要围绕讲解在 红帽派系(RedHat、Centos7)、Debia

下载Centos7版本的MySQL5.7以及MySQL8.4\color{#FFC125}{下载Centos7版本的MySQL5.7以及MySQL8.4}下载Centos7版本的MySQL5.7以及MySQL8.4 MySQL安装配置及卸载(超详细、各种安装方式)本篇主要围绕讲解在 红帽派系(RedHat、Centos7)、Debia

(二):MySQL的Windows版下载

  下载这种的贼简单,进入下载界面,直接默认就是Windows,具体可以参考上面的示例图,一共存在两种下载,分别为:   Windows (x86, 64-bit), MSI Installer通过安装程序安装(推荐)   Windows (x86, 64-bit), ZIP Archive通过解压包的方式解压安装   下文也会给出MySQL8.4解压版的方式安装和安装程序的安装。   MySQL8.4、8.0、5.7、5.5版本的msi安装程序方式安装

三:卸载已安装的MySQL

  若之前没安装过MySQL服务的话可以跳过。但是安装了,卸载时请先关闭MySQL服务后在进行卸载步骤。如果之前的数据库是有重要数据的,卸载前一定要备份:/var/lib/mysql 目录文件 关于Ubuntu、Debain安装的MySQL卸载:\color{#f00}{关于Ubuntu、Debain安装的MySQL卸载:}关于UbuntuDebain安装的MySQL卸载:

'【这里我以在 Ubuntu24.04(LTS)、Debain 12.0 系统卸载 MySQL8.4 来说明】'
'关闭MySQL服务:systemctl stop mysql'
'Ⅰ:查看已经安装的MySQL信息:'
    dpkg --get-selections | grep "mysql"
        libmysqlclient-dev                              install
        libmysqlclient24:amd64                          install
        mysql-client                                    install
        mysql-common                                    install
        mysql-community-client                          install
        mysql-community-client-core                     install
        mysql-community-client-plugins                  install
        mysql-community-server                          install
        mysql-community-server-core                     install
        mysql-server                                    install
'Ⅱ:卸载查询出来的关于MySQL的依赖信息:'
注意:remove卸载安装的服务、--purge卸载安装的服务同时还删除配置文件。
    apt-get remove --purge mysql-server mysql-client mysql-common mysql-community-client-core mysql-community-client-plugins mysql-community-server-core
        卸载的过程中会弹出确认框,我们选择 Yes 即可卸载。

'【若是在 Ubuntu22.04(LTS)系统中卸载 MySQL5.7 请参考这】'
注意:和上面基本都一样,执行如下的apt-get卸载即可。
    apt-get remove --purge mysql-server mysql-client mysql-common mysql-community-source

关于Centos安装的MySQL卸载:\color{#f00}{关于Centos安装的MySQL卸载:}关于Centos安装的MySQL卸载:

'关闭MySQL服务:systemctl stop mysqld'
'Centos7系统卸载MySQL 8.4(MySQL 5.7 也是一样的,查询出来啥,卸载啥就行)'
'Ⅰ:查询已经安装的MySQL信息'
    rpm -qa | grep -i mysql
        mysql-community-client-plugins-8.4.0-1.el7.x86_64
        mysql-community-libs-compat-8.4.0-1.el7.x86_64
        mysql-community-libs-8.4.0-1.el7.x86_64
        mysql-community-common-8.4.0-1.el7.x86_64
        mysql-community-client-8.4.0-1.el7.x86_64
        mysql-community-icu-data-files-8.4.0-1.el7.x86_64
        mysql-community-server-8.4.0-1.el7.x86_64

'Ⅱ:卸载上面查询出来的关于MySQL的依赖信息'
    rpm -e --nodeps mysql-community-client-plugins-8.4.0-1.el7.x86_64
    rpm -e --nodeps mysql-community-libs-compat-8.4.0-1.el7.x86_64
    rpm -e --nodeps mysql-community-libs-8.4.0-1.el7.x86_64
    rpm -e --nodeps mysql-community-common-8.4.0-1.el7.x86_64
    rpm -e --nodeps mysql-community-client-8.4.0-1.el7.x86_64
    rpm -e --nodeps mysql-community-icu-data-files-8.4.0-1.el7.x86_64
    rpm -e --nodeps mysql-community-server-8.4.0-1.el7.x86_64

'Ⅲ:卸载完基本的环境后,我们要清理MySQL数据文件(就是我们创建数据库数据的位置,重要的话可以备份)'
    rm -rf /var/lib/mysql

'补充:若是通过我下文的案例装过 MySQL 5.7.44 的话则通过如下直接卸载(查询出来的也是这些)'
    rpm -e --nodeps mysql-community-common-5.7.44-1.el7.x86_64
    rpm -e --nodeps mysql-community-libs-compat-5.7.44-1.el7.x86_64
    rpm -e --nodeps mysql-community-libs-5.7.44-1.el7.x86_64
    rpm -e --nodeps mysql-community-client-5.7.44-1.el7.x86_64
    rpm -e --nodeps mysql-community-server-5.7.44-1.el7.x86_64

四:离线方式安装MySQL

  不是所有的服务器或者电脑都是有公网的,离线方式安装虽然难受,但也是必须要了解的(后面会通过apt和yum方式安装);要将下载的包上传到服务器,在安装的同时遇到了缺少依赖问题,还得再去下载并上传,下面将介绍如何安装对应版本的MySQL。 注:Ubuntu和Debain缺少啥依赖包可以去这里下载:pkgs.org/ 注:Centos7包下载:mirrors.aliyun.com/centos/7/os…

官方文档:\color{#f00}{官方文档:}官方文档:   在 Debain 12.0 上离线方式安装MySQL 8.4(LTS) 文档链接

(一):Ubuntu24安装MySQL8.4

  将下载的MySQL8.4的deb包上传到服务器,我默认上传到/home目录下,然后通过dpkg安装。别忘了下面的libmecab2的依赖包下载,要不然mysql-community-server-core无法被安装。 必须的依赖下载:   libmecab2_0.996-14ubuntu4_amd64.deb 依赖包直达地址 MySQL安装配置及卸载(超详细、各种安装方式)本篇主要围绕讲解在 红帽派系(RedHat、Centos7)、Debia 按照顺序依次安装:

'安装顺序(必须按照这个顺序、且命令需要一条一条复制执行):'
    sudo dpkg -i libmecab2_0.996-14ubuntu4_amd64.deb
    sudo dpkg -i mysql-common_8.4.0-1ubuntu24.04_amd64.deb
    sudo dpkg -i mysql-community-client-plugins_8.4.0-1ubuntu24.04_amd64.deb
    sudo dpkg -i libmysqlclient24_8.4.0-1ubuntu24.04_amd64.deb
    sudo dpkg -i libmysqlclient-dev_8.4.0-1ubuntu24.04_amd64.deb
    sudo dpkg -i mysql-community-client-core_8.4.0-1ubuntu24.04_amd64.deb
    sudo dpkg -i mysql-community-client_8.4.0-1ubuntu24.04_amd64.deb
    sudo dpkg -i mysql-client_8.4.0-1ubuntu24.04_amd64.deb
    sudo dpkg -i mysql-community-server-core_8.4.0-1ubuntu24.04_amd64.deb
    sudo dpkg -i mysql-community-server_8.4.0-1ubuntu24.04_amd64.deb
    sudo dpkg -i mysql-server_8.4.0-1ubuntu24.04_amd64.deb
'若想汇总成一条命令则需要如下方式(也得注意包的顺序):'
    sudo dpkg -i libmecab2_0.996-14ubuntu4_amd64.deb mysql-common_8.4.0-1ubuntu24.04_amd64.deb mysql-community-client-plugins_8.4.0-1ubuntu24.04_amd64.deb libmysqlclient24_8.4.0-1ubuntu24.04_amd64.deb libmysqlclient-dev_8.4.0-1ubuntu24.04_amd64.deb mysql-community-client-core_8.4.0-1ubuntu24.04_amd64.deb mysql-community-client_8.4.0-1ubuntu24.04_amd64.deb mysql-client_8.4.0-1ubuntu24.04_amd64.deb mysql-community-server-core_8.4.0-1ubuntu24.04_amd64.deb mysql-community-server_8.4.0-1ubuntu24.04_amd64.deb mysql-server_8.4.0-1ubuntu24.04_amd64.deb

当执行安装mysql-community-server的deb包时会弹出粉色的密码设置弹框,按照如下方式设置密码: MySQL安装配置及卸载(超详细、各种安装方式)本篇主要围绕讲解在 红帽派系(RedHat、Centos7)、Debia   关于Ubuntu24上安装MySQL8.0就完成了,我们可以通过systemctl status mysql来查看MySQL的启动情况了,具体服务情况则请看下章的MySQL服务基本命令。 MySQL安装配置及卸载(超详细、各种安装方式)本篇主要围绕讲解在 红帽派系(RedHat、Centos7)、Debia   安装完成后会出现如下一些MySQL文件,可通过find / -name mysql命令来查看,正常都是包含如下文件的,若有缺失的话可以考虑是不是安装过程中报错了,文件具体如下:

/etc/mysql
    这是MySQL的主配置目录,存放MySQL服务器的配置文件('my.cnf文件就在这')。
/var/lib/mysql
    这是MySQL数据库的数据存储目录,包含实际的数据库文件('重要的目录,我们创建的数据库数据都在这')。
/var/lib/mysql/mysql
    这是MySQL系统数据库mysql的专用目录。
/var/log/mysql
    这是MySQL的日志目录,存放MySQL服务器的日志文件。
/usr/lib/mysql
    这是MySQL库文件的存储目录。
/usr/bin/mysql
    这是MySQL客户端工具的可执行文件位置。
/usr/include/mysql
    这是MySQL开发库的头文件存放位置,用于开发与MySQL交互的应用程序。
/usr/include/mysql/mysql
    这个子目录通常包含MySQL库的更具体的头文件。

(二):Ubuntu22安装MySQL5.7

  安装MySQL5.7其实和上面刚说的一样,只不过有细微的差异,比如安装mysql-community-client则需要libtinfo5依赖。下面我就针对差异的进行说明。 必须的依赖下载:    libtinfo5_6.3-2_amd64.deb依赖包直达地址   libmecab2_0.996-14build9_amd64.deb依赖包直达地址 MySQL安装配置及卸载(超详细、各种安装方式)本篇主要围绕讲解在 红帽派系(RedHat、Centos7)、Debia 按照顺序依次安装:

'安装顺序(必须按照这个顺序、且命令需要一条一条复制执行):'
    dpkg -i libtinfo5_6.3-2_amd64.deb
    dpkg -i libmecab2_0.996-14build9_amd64.deb
    dpkg -i mysql-common_5.7.42-1ubuntu18.04_amd64.deb
    dpkg -i mysql-community-source_5.7.42-1ubuntu18.04_amd64.deb
    dpkg -i libmysqlclient20_5.7.42-1ubuntu18.04_amd64.deb
    dpkg -i libmysqlclient-dev_5.7.42-1ubuntu18.04_amd64.deb
    dpkg -i libmysqld-dev_5.7.42-1ubuntu18.04_amd64.deb
    dpkg -i mysql-community-client_5.7.42-1ubuntu18.04_amd64.deb
    dpkg -i mysql-client_5.7.42-1ubuntu18.04_amd64.deb
    dpkg -i mysql-community-server_5.7.42-1ubuntu18.04_amd64.deb
    dpkg -i mysql-server_5.7.42-1ubuntu18.04_amd64.deb
'若想汇总成一条命令则需要如下方式(也得注意包的顺序):'
    dpkg -i libtinfo5_6.3-2_amd64.deb libmecab2_0.996-14build9_amd64.deb mysql-common_5.7.42-1ubuntu18.04_amd64.deb mysql-community-source_5.7.42-1ubuntu18.04_amd64.deb libmysqlclient20_5.7.42-1ubuntu18.04_amd64.deb libmysqlclient-dev_5.7.42-1ubuntu18.04_amd64.deb libmysqld-dev_5.7.42-1ubuntu18.04_amd64.deb mysql-community-client_5.7.42-1ubuntu18.04_amd64.deb mysql-client_5.7.42-1ubuntu18.04_amd64.deb mysql-community-server_5.7.42-1ubuntu18.04_amd64.deb mysql-server_5.7.42-1ubuntu18.04_amd64.deb

  当安装mysql-community-server时也会有弹框,提示我们输入密码和确认密码,输入完成以后直接回车即可安装完成,完成后可以通过systemctl status mysql来查看MySQL状态。   关于安装后的MySQL文件目录有哪些可以参考上面MySQL 8.4 安装后的文件,上面有的,这里安装的MySQL也都有。

(三):Centos7安装MySQL8.4

  首先需要检查是否安装了mariadb(CentOS7默认安装,Centos6),如存在则卸载mariadb;因为以前的Linux系统中数据库大部分是MySQL,不过自从被sun收购之后,就没有集成在centos这些开源Linux系统中了,那么如果想用的话就需要自己安装了,首先centos7已经不再默认提供MySQL,因为收费了你懂得,所以内部集成了mariadb,而安装 MySQL 的话可能会和mariadb的文件冲突,所以需要先卸载掉mariadb。 ⭐卸载自带的mariadb: rpm -qa | grep mariadb rpm -e mariadb-libs-5.5.68-1.el7.x86_64 --nodeps MySQL安装配置及卸载(超详细、各种安装方式)本篇主要围绕讲解在 红帽派系(RedHat、Centos7)、Debia 安装所需的依赖:   一般都是最新版了不需要更新,若是如下的图片版本则不用再次安装和更新了,因为已经是最新了:   rpm -qa | grep libaiorpm -qa | grep net-tools MySQL安装配置及卸载(超详细、各种安装方式)本篇主要围绕讲解在 红帽派系(RedHat、Centos7)、Debia   若在Centos7上查询版本不对的话则需要通过离线安装或者在线更新安装的方式,保证最新版。    libaio-0.3.109-13.el7.x86_64   net-tools-2.0-0.25.20131004git.el7.x86_64

若有网的话直接执行如下命令即可:
    yum install libaio
    yum install net-tools
没网的话则执行如下命令;
    卸载电脑自带的其它版本libaio、net-tools(由于我是最新版,所以把最新版下载后再安装):
    卸载:
        rpm -e --nodeps libaio-0.3.109-13.el7.x86_64
        rpm -e --nodeps net-tools-2.0-0.25.20131004git.el7.x86_64
    安装刚才下载的依赖:
        rpm -ivh libaio-0.3.109-13.el7.x86_64.rpm
        rpm -ivh net-tools-2.0-0.25.20131004git.el7.x86_64.rpm

⭐安装MySQL包: MySQL安装配置及卸载(超详细、各种安装方式)本篇主要围绕讲解在 红帽派系(RedHat、Centos7)、Debia

'安装顺序和依赖关系必须依次为:common → libs → client → server'
'注意:其中ivh代表:i-install安装;v-verbose进度条;h-hash哈希校验;'
'安装顺序(必须按照这个顺序,可以直接复制如下6条语句直接执行):'
    ## 若没有PHP需求则最后一条命令无需执行
    rpm -ivh --force --nodeps mysql-community-common-8.4.0-1.el7.x86_64.rpm
    rpm -ivh --force --nodeps mysql-community-icu-data-files-8.4.0-1.el7.x86_64.rpm
    rpm -ivh --force --nodeps mysql-community-client-plugins-8.4.0-1.el7.x86_64.rpm
    rpm -ivh --force --nodeps mysql-community-libs-8.4.0-1.el7.x86_64.rpm
    rpm -ivh --force --nodeps mysql-community-client-8.4.0-1.el7.x86_64.rpm
    rpm -ivh --force --nodeps mysql-community-server-8.4.0-1.el7.x86_64.rpm
    rpm -ivh --force --nodeps mysql-community-libs-compat-8.4.0-1.el7.x86_64.rpm

'查看安装的MySQL版本:'
    mysql --version
        mysql  Ver 8.4.0 for Linux on x86_64 (MySQL Community Server - GPL)
    mysqladmin --version
        mysqladmin  Ver 8.4.0 for Linux on x86_64 (MySQL Community Server - GPL)

  启动MySQL服务和查看状态:systemctl start mysqld systemctl status mysqld MySQL安装配置及卸载(超详细、各种安装方式)本篇主要围绕讲解在 红帽派系(RedHat、Centos7)、Debia

(四):Centos7安装MySQL5.7

  关于MySQL5.7的安装也是和上面的步骤一样,但是关于rpm包的安装顺序是有变动了,下面就讲讲关于包的安装的顺序;关于卸载自带的mariadb安装所需的依赖和上面一样的,这里就不再阐述。 ⭐安装MySQL包: MySQL安装配置及卸载(超详细、各种安装方式)本篇主要围绕讲解在 红帽派系(RedHat、Centos7)、Debia

'安装顺序(必须按照这个顺序,可以直接复制如下5条语句直接执行):'
    ## 若没有PHP需求则最后一条命令无需执行
    rpm -ivh --force --nodeps mysql-community-common-5.7.44-1.el7.x86_64.rpm
    rpm -ivh --force --nodeps mysql-community-libs-5.7.44-1.el7.x86_64.rpm
    rpm -ivh --force --nodeps mysql-community-client-5.7.44-1.el7.x86_64.rpm
    rpm -ivh --force --nodeps mysql-community-server-5.7.44-1.el7.x86_64.rpm
    rpm -ivh --force --nodeps mysql-community-libs-compat-5.7.44-1.el7.x86_64.rpm
'查看安装的MySQL版本:'
    mysql --version
'启动MySQL服务和查看状态:'
    systemctl start mysqld 和 systemctl status mysqld

五:MySQL服务状态处理

  到这里我们已经通过离线包的方式完成了安装,接下来就要需要掌握基本的MySQL启动和关闭命令,也就区区几个命令,都是通过systemctl来控制,具体如下:

'千万要注意:'
    '在ubuntu下的MySQL服务名为‘mysql.service’'
    '但在centos下的MySQL服务名为‘mysqld.service’'

'基本命令:'
    systemctl status mysql.service          【查询MySQL在系统的状态】
    systemctl start mysql.service           【启动MySQL服务】
    systemctl stop mysql.service            【关闭MySQL服务】
    systemctl restart mysql.service         【重启MySQL服务】
    ps -ef | grep mysql                     【查看MySQL进程】

'其它命令(开机自启):'
    # 查询MySQL服务是否是自启动
        systemctl list-unit-files | grep mysql.service
            enabled:当前为开机自启动
            disable:开机后不会自启动
    # 设置开机自启动
        systemctl enable mysql.service
    # 设置开机不自启动
        systemctl disable mysql.service

六:设置MySQL远程登录访问

'开始修改密码:'
    ALTER USER 'root'@'localhost' IDENTIFIED BY '1234';
        ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
        (报错:不符合策略,其实要修改的密码为8位并且包含特殊字符、大小写字母、数字)
'没办法只能先修改一个复杂密码:'
    ALTER USER 'root'@'localhost' IDENTIFIED BY 'aaAA$$!!66';

'查看密码策略:'
    show variables like 'validate_password%';
        +-------------------------------------------------+--------+
        | Variable_name                                   | Value  |
        +-------------------------------------------------+--------+
        | validate_password.changed_characters_percentage | 0      | # 旧密码重复度
        | validate_password.check_user_name               | ON     | # 是否验证用户名
        | validate_password.dictionary_file               |        | # 密码策略文件,策略为STRONG才需要
        | validate_password.length                        | 8      | # 密码长度
        | validate_password.mixed_case_count              | 1      | # 大小写字符长度,至少一个
        | validate_password.number_count                  | 1      | # 数字至少一个
        | validate_password.policy                        | MEDIUM | # 密码策略
        | validate_password.special_char_count            | 1      | # 特殊字符至少一个
        +-------------------------------------------------+--------+
'修改策略:'
    set global validate_password.policy=0; # 关闭密码复杂性策略(LOW)
    set global validate_password.length=4; # 设置密码复杂性要求密码最低长度为4

'随后就可以修改灵魂密码(线上可不能设置这种简单的):'
    ALTER USER 'root'@'localhost' IDENTIFIED BY '1234';
    
'其实ubuntu上安装MySQL时默认是未开启密码校验功能的,但是反观centos7上安装时则默认是开启状态。'
'若想了解密码校验插件可以参考如上示例,或者跳转对应给出的:《MySQL安装密码校验插件及说明》一文。'
'Ⅰ:我们电脑需要ping一下远程的IP地址是否是网络畅通的:'
    ping xxx.xxx.xxx.xxx

'Ⅱ:确保当前MySQL端口已被放开或者关闭了防火墙:'
    # 红帽派系(RedHat、Centos7)方式的防火墙操作(firewalld.service):
        查看防火墙状态:systemctl status firewalld.service
        开启防火墙:systemctl start firewalld.service
        关闭防火墙:systemctl stop firewalld.service
        若开启了防火墙需要开启3306端口:firewall-cmd --zone=public --add-port=3306/tcp --permanent
        更新防火墙规则:firewall-cmd --reload
    # Debian派系(Debian、Ubuntu)方式的防火墙操作(ufw):
        查看防火墙状态:ufw status
        开启防火墙:ufw enable
        关闭防火墙:ufw disable
        若开启了防火墙需要开启3306端口:ufw allow 3306 comment "MySQL端口放行"
        更新防火墙规则:ufw reload

'Ⅲ:修改MySQL服务允许远程登录:'
    SELECT Host, User FROM mysql.user;
    UPDATE mysql.user SET Host = '%' WHERE User = 'root';
    flush privileges;
    '说明:`%`是个通配符,Host=192.168.1.%;那么就表示只要是IP地址为"192.168.1.*"的客户端都可以连接。'
    '如果`Host=%`,表示所有IP都有连接权限。'
    '注意:生产环境下不推荐将host设置为%,这样做会存在安全问题,具体的设置可以根据生产环境的IP进行设置。'

关于Ubuntu22安装的MySQL5.7额外设置:\color{#f00}{关于Ubuntu22安装的MySQL5.7额外设置:}关于Ubuntu22安装的MySQL5.7额外设置:   修改配置文件:vim /etc/mysql/mysql.conf.d/mysqld.cnf   修改完重启MySQL:systemctl restart mysql MySQL安装配置及卸载(超详细、各种安装方式)本篇主要围绕讲解在 红帽派系(RedHat、Centos7)、Debia

七:在线安装MySQL

  有网的情况下,通过在线方式安装MySQL是特别爽的(前提是网络够快且网络不被墙的情况下),只需简单几条命令即可安装一个MySQL服务,下面我就针对在Ubuntu 24.04 LTSCentos7 两个平台来各种安装MySQL。   下载源地址:MySQL的Apt源下载MySQL的Yum源下载   MySQL官方通过Apt和Yum方式安装文档:Apt安装文档Yum安装文档

(一):通过 apt 方式安装

  通过apt方式安装的话,首先我们得有一台Ubuntu或者Debain服务器了,这里我就以Ubuntu 24.04 LTS服务器说明(在Debain也是可以正常安装),按照如下命令依次执行:

'Ⅰ:添加MySQL官方自带的Apt下载源'
    1:去官方下载源文件:
        sudo wget -i -c -P /home https://repo.mysql.com//mysql-apt-config_0.8.32-1_all.deb
    2:在ubuntu中安装刚才下载的源【会出现配置弹框,让你配置要安装啥MySQL版本】:
        sudo apt-get install /home/mysql-apt-config_0.8.32-1_all.deb
    非必要命令:
        >> 查看安装的MySQL配置源
            ls /etc/apt/sources.list.d/
                mysql.list  ubuntu.sources  ubuntu.sources.curtin.orig

'Ⅱ:修改需要安装的MySQL版本(一般无需执行此命令,使用默认即可,但是想要其它MySQL版本方式则需要执行如下命令)'
    1:更改MySQL产品版本【会出现一个和上面一样的配置弹框】:
        sudo dpkg-reconfigure mysql-apt-config

'Ⅲ:通过MySQL源来加载所选的包列表:'
    sudo apt-get update

'Ⅳ:使用Apt安装MySQL:'
    sudo apt-get install mysql-server
    '注:若安装是弹出“Enter root password:”则是密码输入框,输入两次即可,后面登录MySQL则使用此密码。'
    '注:若安装是未弹出密码输入框,那么用户则需要通过无密码登录root用户,进去再修改密码。'

MySQL安装配置及卸载(超详细、各种安装方式)本篇主要围绕讲解在 红帽派系(RedHat、Centos7)、Debia   到这里我们就已经通过Apt方式成功安装了MySQL,可以通过systemctl status mysql来查看MySQL状态;关于后续的登录以及设置远程登录、密码修改等等则参考上面第五章和第六章。   还有要注意的是,使用在线的方式下载安装,官方源现在只提供了MySQL8.4(LTS)的方式安装,若需要以前版本可以通过上面的离线方式安装。

(二):通过 yum 方式安装

  使用yum方式来安装MySQL,大部分都是在Centos或RedHat服务器,但是随着Centos7的闭源,现在大部分服务器还是慢慢选择了如Debain和Ubuntu,但是这里也说一下在Centos7中使用yum安装MySQL服务。

'Ⅰ:添加MySQL官方自带的Apt下载源'
    1:去官方下载源文件:
        wget -i -c -P /home https://repo.mysql.com//mysql84-community-release-el7-1.noarch.rpm
    2:在Centos7中安装刚才下载的源
        yum localinstall /home/mysql84-community-release-el7-1.noarch.rpm
    3:检查MySQL源是否配置安装成功【源文件都存储在:/etc/yum.repos.d 目录下】:
        yum repolist enabled | grep mysql.*-community
            mysql-8.4-lts-community/x86_64        MySQL 8.4 LTS Community Server   23
            mysql-connectors-community/x86_64     MySQL Connectors Community      258
            mysql-tools-8.4-lts-community/x86_64  MySQL Tools 8.4 LTS Community     4
                说明【每一行的后面是对应的包数量】:
                    第一行是 启用 MySQL 8.4 LTS 社区版本下载服务器仓库。
                    第二行是 启用 MySQL 社区版连接器的仓库。
                    第三行是 启用 MySQL 8.4 LTS 社区版本工具的仓库。

'Ⅱ:更换MySQL源的下载为MySQL8.0的服务:'
    注:默认是安装如上打印的MySQL-8.4-LTS版本的MySQL,如果想切换MySQL8.0则需要执行第Ⅱ部分。
    注:若想默认安装最新的MySQL-8.4-LTS则忽略第Ⅱ部分。
    1:修改配置文件
        vim /etc/yum.repos.d/mysql-community.repo
            # 开启MySQL-80版本配置修改
            [mysql80-community]
            name=MySQL 8.0 Community Server
            baseurl=http://repo.mysql.com/yum/mysql-8.0-community/el/7/$basearch
            enabled=1   # 0禁用 1开启
            gpgcheck=1
            gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql-2023...
            # 关闭MySQL-8.4-LTS版本配置修改
            [mysql-8.4-lts-community]
            name=MySQL 8.4 LTS Community Server
            baseurl=http://repo.mysql.com/yum/mysql-8.4-community/el/7/$basearch
            enabled=0   # 0禁用 1开启
            gpgcheck=1
            gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql-2023
    2:验证修改的下载源引导配置是否正确
        yum repolist all | grep mysql
            mysql-connectors-community/x86_64    MySQL Connector 启用: 258
            mysql-tools-8.4-lts-community/x86_64 MySQL Tools 8.4 启用:   4
            mysql80-community/x86_64             MySQL 8.0 Commu 启用: 503
            ....

'Ⅲ:使用yum安装MySQL服务:'
    yum install mysql-community-server
    注:会按照之前配置的版本进行下载,下载安装时会提示是否继续,输入y即可。

  到这里我们就已经通过yum方式成功安装了MySQL,可以通过systemctl status mysqld来查看MySQL状态;关于后续的登录以及设置远程登录、密码修改等等则参考上面第五章和第六章。   使用yum这种方式只能安装MySQL8.0和MySQL8.4版本,若想安装如MySQL5.7版本则需要使用上面详细说明的离线方式安装。

八:Windows上通过解压方式安装

  在Windows界面化安装相对简单,一般刚接触MySQL的人会选择在Windows上安装MySQL,而面对企业的环境还是选择Linux的居多,废话不多说,参考上面的下载章节,下载Windows的解压版后直接上手:   下载的MySQL8.4解压包:mysql-8.4.2-winx64.zip,并解压在:C:/mysql-8.4.2-winx64;然后在解压的目录里创建一个my.ini文件,并设置如下内容(注释的内容可有可无):

点击查看详情:C:/mysql-8.4.2-winx64/my.ini文件内容设置
[mysqld]
# 设置MySQL端口,默认不设置就是3306
port = 3306
# 设置MySQL的安装目录
basedir=C:/mysql-8.4.2-winx64       # 数据库的解压包位置
datadir=C:/mysql-8.4.2-winx64/data  # 数据库存储的数据目录
 
##### 字符集配置(推荐如下两种)
character-set-server = utf8mb4            # 设置服务器的默认字符集
collation-server = utf8mb4_general_ci     # 设置服务器的默认排序规则
 
##### 连接配置和连接池配置
max_connections = 150     # 最大连接数(若这个连接数连接上线了,MySQL会报:Too many connections)
# thread_cache_size = 10  # 线程池大小(客户端连接断开,不会立即销毁,而是放到线程池复用)
 
##### 网络超时配置(防止长期空闲的连接占用资源)
# wait_timeout = 600          # 600秒(10分钟)后关闭空闲的非交互式连接
# interactive_timeout = 300   # 300秒(5分钟)后关闭空闲的交互式连接
 
##### SQL开启严格模式配置(推荐使用严格模式,因为这些模式可能会在今后的某个版本中变为默认行为)
sql_mode=STRICT_ALL_TABLES,NO_ZERO_DATE,NO_ZERO_IN_DATE,ERROR_FOR_DIVISION_BY_ZERO
## 说明:
## STRICT_ALL_TABLES:插入或更新时无效或不正确的数据时,MySQL会对操作的表(无论是否支持事务)终止操作。
## NO_ZERO_DATE:代表禁止插入或更新日期为'0000-00-00'的数据。
## NO_ZERO_IN_DATE:禁止插入或更新日期中部分字段为零的值,例如'2023-00-01'或'2023-12-00'。
## ERROR_FOR_DIVISION_BY_ZERO:将任何数除0则会报错。
 
##### 配置日志文件(若开启此配置时需要手动创建/logs/error.log 文件)
# log_error = C:/mysql-8.4.2-winx64/logs/error.log          # 错误日志路径(开关服务、运行错误等)
 
##### 配置慢查询(若开启此配置时需要手动创建/logs/slow.log文件)
# slow_query_log = 1                                         # 启用慢查询日志
# long_query_time = 2                                        # 定义慢查询时间(秒)
# slow_query_log_file = C:/mysql-8.4.2-winx64/logs/slow.log  # 慢查询日志路径
 
##### 缓存配置(一般默认不设置,按照实际需求来调整,没需求默认即可)
## InnoDB缓冲池用于缓存表和索引的数据,减少频繁IO操作,建议将其设置为物理内存的50%-80%
# innodb_buffer_pool_size = 1G         # InnoDB 缓冲池大小
## InnoDB重做日志文件大小。日志越大,恢复时可处理的事务数据量就大,但日志文件太大也会延长恢复时间。默认48M
# innodb_log_file_size = 256M          # InnoDB 日志文件大小
## 控制InnoDB在事务提交时将日志刷新到磁盘的频率。
# innodb_flush_log_at_trx_commit = 1   # 日志刷新策略(关于redo日志刷入)
## 控制每个InnoDB表是否使用单独的表空间文件。
## 1:每个表使用一个单独的表空间文件(推荐设置)。
## 0:所有表共享一个表空间文件(老的模式,可能在某些情况下会导致碎片问题)。
# innodb_file_per_table = 1            # 每个表单独使用一个表空间文件
 
##### 配置默认身份验证插件
# mysql_native_password是MySQL 8.0以前版本的默认身份验证插件,使用SHA-1算法。
# caching_sha2_password是MySQL 8.0及更高版本中的默认插件,使用SHA-256算法,安全性较高。
# 8.0版本以上默认使用的是:caching_sha2_password;8.0以前的版本默认是mysql_native_password。
# 若当前的是8.0以上的服务端程序,而远程的客户端版本是8.0之前版本,那需配置:mysql_native_password=ON。
# 因为服务端是8.0之后版本,而客户端是8.0之前版本,而服务端的身份验证是SHA-256算法,则可能连接不上。
# 默认8.0以上版本下的mysql_native_password处于禁用状态,8.4版本需要如下方式开启才可以使用
# mysql_native_password=ON
## 注意:MySQL8.0之后,以及8.4之前开启mysql_native_password则需要使用如下方式
# default_authentication_plugin=mysql_native_password

配置MySQL环境变量:\color{#f00}{配置MySQL环境变量:}配置MySQL环境变量: MySQL安装配置及卸载(超详细、各种安装方式)本篇主要围绕讲解在 红帽派系(RedHat、Centos7)、Debia

初始化MySQL数据库:\color{#f00}{初始化MySQL数据库:}初始化MySQL数据库:

'Ⅰ:打开命令提示符(以管理员身份运行),并跳转到指定目录:'
    cd C:\mysql-8.4.2-winx64\bin
    C:
'Ⅱ:初始化MySQL数据目录:'
    注:若报缺少组件的话,通过下面的补充来解决后,再执行这个代码:
    mysqld --initialize --console
'补充:由于找不到VCRUNTIME140_1.dll,无法继续执行代码...'
    报这个错的话,代表当前电脑缺少Visual C++运行时库的相关组件,下载安装即可,下载地址如下:
    https://aka.ms/vs/17/release/vc_redist.x64.exe  【64位操作系统】
    https://aka.ms/vs/17/release/vc_redist.x86.exe  【32位操作系统】

MySQL安装配置及卸载(超详细、各种安装方式)本篇主要围绕讲解在 红帽派系(RedHat、Centos7)、Debia

安装MySQL服务和启动:\color{#f00}{安装MySQL服务和启动:}安装MySQL服务和启动:

'Ⅰ:将MySQL安装为Windows服务:'
    mysqld --install MySQL
        Service successfully installed.
'Ⅱ:启动服务'
    net start MySQL
        MySQL 服务正在启动 ..
        MySQL 服务已经启动成功。

  这时MySQL服务就正常启动了,也获取到了临时的登录密码,登录后还得进行密码的修改,这后面的部分请参考上面的六:设置MySQL远程登录访问一章节,上面有说明如何更改密码和如何设置远程登录。

补充:如何彻底卸载通过解压包安装的MySQL\color{#f00}{补充:如何彻底卸载通过解压包安装的MySQL}补充:如何彻底卸载通过解压包安装的MySQL

'卸载Window-10通过解压包方式安装的MySQL8.4(LTS)'
'Ⅰ:停止MySQL服务并删除注册的MySQL服务'
    net stop mysql
    sc delete mysql
'Ⅱ:删除之前解压的哪些MySQL目录文件(就是安装的目录,删除前请备份!)'
    我的MySQL目录在:C:\mysql-8.4.2-winx64;删了即可。
'Ⅲ:删除环境变量'
    右键点击 "此电脑" > "属性" > "高级系统设置" > "环境变量"
    找到系统变量Path后删除之前配置在里面的路径即可。
'Ⅳ:清理注册表'
    虽然不一定需要,但如果你想彻底清理注册表中的MySQL相关项,则可以执行如下步骤:
    打开注册表编辑器:按Win + R,输入regedit,然后按回车。
    查询注册表中是否存在此文件,存在则删除:
        '注:有的版本是MySQL文件夹,有的版本(如MySQL8.4)是MySQLD Service文件夹'
        HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\MySQL
        HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Services\Eventlog\Application\MySQL
        HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Services\MySQL
        HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\Application\MySQL
        HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MySQL
    注:注册表中的ControlSet001,ControlSet002,不一定是001和002,可能是ControlSet005、006之类
转载自:https://juejin.cn/post/7409675898326597671
评论
请登录