暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

MySQL 8.0.20 | Install on RHEL 7.8

Nephilim 2020-06-03
39

不积跬步无以至千里。【荀子:劝学】



01

MySQL 8.0.20


MySQL,目前为止最新的版本为:8.0.20;

它的发布时间是:2020-04-27


它的意思是:

当前MySQL:

主版本号:8

次版本号:0

修订版本号:20


这个信息可以从Oracle官方的MySQL产品的release页获取,地址如下:

https://dev.mysql.com/doc/relnotes/mysql/8.0/en/



而关于MySQL数据库所支持的操作系统的信息可以通过下面的官方地址获取:

https://www.mysql.com/support/supportedplatforms/database.html



02

参考资料


本文参考Oracle官方的MySQL 8.0的安装手册,部署MySQL 8.0.20


我的实验环境为:RHEL 7.8

    [root@mysql software]# cat etc/redhat-release 
    Red Hat Enterprise Linux Server release 7.8 Beta (Maipo)
    [root@mysql software]#

    因此,我参考的官方文档也是Linux的安装手册


    Oracle官方的MySQL手册的地址:

    https://dev.mysql.com/doc/refman/8.0/en/linux-installation.html


    官方文档为英文;

    这里,我会翻译为中文,并且在自己的环境中跟上每一步的详细命令及其反馈信息;


    03

    多种安装方式可以供选择


    Linux支持使用多种方式安装MySQL;

    但是,我们建议你选择Oracle发行版中的一个进行安装,可供选择的方案如下:


    在这里,我选择【RPM Download a specific package】


    RPM的安装包可以从官方的下载页下载:

    https://dev.mysql.com/downloads/mysql/


    在下载页中,选择你的操作系统【Red Hat Enterprise Linux Oracle Linux】


    然后,选择你的操作系统的版本【Red Hat Enterprise Linux 7 Oracle Linux 7 (x86, 64-bit)】


    如下:


    最后,下载上图中标注的【RPM Bundle】即可。


    下载到本地后,上传要安装MySQL的服务器上:

    可以通过Linux的【rz】命令执行上传:

    先切换到希望将文件【上传到的目录】,然后执行【rz】命令:

    【rz】命令,会在终端工具中打开一个文件选择窗口;

    将你需要上传的文件,在上方的框体中找到后;

    【Add】到下方的窗体;

    然后,【Ok】就会关掉【rz】弹出的窗口,并且,在命令行中执行传输,如下所示:

    当传输完成后,就可以看到,启动【rz】的时候所在的【当前目录】中,已经有了刚刚上传的文件:

      [root@mysql software]# pwd
      /software
      [root@mysql software]#
      [root@mysql software]# ls -ltr
      total 0
      [root@mysql software]#
      [root@mysql software]# rz
      rz waiting to receive.
      Starting zmodem transfer. Press Ctrl+C to cancel.
      Transferring mysql-8.0.20-1.el7.x86_64.rpm-bundle.tar...
      100% 815000 KB 14553 KB/sec 00:00:56 0 Errors




      [root@mysql software]#
      [root@mysql software]# ls -ltr
      total 815000
      -rw-r--r--. 1 root root 834560000 Jun 2 21:05 mysql-8.0.20-1.el7.x86_64.rpm-bundle.tar
      [root@mysql software]# du -sh *
      796M mysql-8.0.20-1.el7.x86_64.rpm-bundle.tar
      [root@mysql software]#

      解压安装包:

        [root@mysql software]# ls -ltr
        total 815000
        -rw-r--r--. 1 root root 834560000 Jun 2 21:05 mysql-8.0.20-1.el7.x86_64.rpm-bundle.tar
        [root@mysql software]#
        [root@mysql software]# tar -xf mysql-8.0.20-1.el7.x86_64.rpm-bundle.tar
        [root@mysql software]#
        [root@mysql software]# ls -ltr
        total 1630004
        -rw-r--r--. 1 7155 31415 48822048 Mar 27 20:14 mysql-community-client-8.0.20-1.el7.x86_64.rpm
        -rw-r--r--. 1 7155 31415 623508 Mar 27 20:14 mysql-community-common-8.0.20-1.el7.x86_64.rpm
        -rw-r--r--. 1 7155 31415 8129988 Mar 27 20:14 mysql-community-devel-8.0.20-1.el7.x86_64.rpm
        -rw-r--r--. 1 7155 31415 23599996 Mar 27 20:14 mysql-community-embedded-compat-8.0.20-1.el7.x86_64.rpm
        -rw-r--r--. 1 7155 31415 4667884 Mar 27 20:14 mysql-community-libs-8.0.20-1.el7.x86_64.rpm
        -rw-r--r--. 1 7155 31415 1277128 Mar 27 20:14 mysql-community-libs-compat-8.0.20-1.el7.x86_64.rpm
        -rw-r--r--. 1 7155 31415 512057468 Mar 27 20:15 mysql-community-server-8.0.20-1.el7.x86_64.rpm
        -rw-r--r--. 1 7155 31415 235369940 Mar 27 20:16 mysql-community-test-8.0.20-1.el7.x86_64.rpm
        -rw-r--r--. 1 root root 834560000 Jun 2 21:05 mysql-8.0.20-1.el7.x86_64.rpm-bundle.tar
        [root@mysql software]#

        可以看到,解压出了很多【RPM】包;


        关于这些【RPM】包的说明:

        Oracle以双重授权(Dual Licensed)的方式发布MySQL;


        如果你下载的是【GPL】的MySQL:

        如果你下载的是【Enterprise  商业许可协议(Commercial License)】的MySQL:


        04

        制作YUM本地源


        一、命令:createrepo


        制作YUM源之前,先确保你的Linux安装了工具【createrepo】

          [root@mysql software]# rpm -qa | grep createrepo
          createrepo-0.9.9-28.el7.noarch
          [root@mysql software]#
          [root@mysql software]# yum list | grep createrepo
          global name 'warnOrGiveUsageMessage' is not defined
          createrepo.noarch 0.9.9-28.el7 @anaconda/7.8
          [root@mysql software]#

          如上,我安装了createrepo,并且是在Linux系统安装的时候自动安装的(因为@anaconda)


          如果你的环境里没有createrepo,可以通过下面的命令进行安装:

            yum install -y createrepo

            二、制作YUM源


            对前面的MySQL安装介质的解压目录执行YUM源的制作:

              [root@mysql software]# pwd
              /software
              [root@mysql software]#
              [root@mysql software]# ls
              mysql-8.0.20-1.el7.x86_64.rpm-bundle.tar
              mysql-community-client-8.0.20-1.el7.x86_64.rpm
              mysql-community-common-8.0.20-1.el7.x86_64.rpm
              mysql-community-devel-8.0.20-1.el7.x86_64.rpm
              mysql-community-embedded-compat-8.0.20-1.el7.x86_64.rpm
              mysql-community-libs-8.0.20-1.el7.x86_64.rpm
              mysql-community-libs-compat-8.0.20-1.el7.x86_64.rpm
              mysql-community-server-8.0.20-1.el7.x86_64.rpm
              mysql-community-test-8.0.20-1.el7.x86_64.rpm
              [root@mysql software]#
              [root@mysql software]# createrepo software/
              Spawning worker 0 with 8 pkgs
              Workers Finished
              Saving Primary metadata
              Saving file lists metadata
              Saving other metadata
              Generating sqlite DBs
              Sqlite DBs complete
              [root@mysql software]#
              [root@mysql software]# ls
              mysql-8.0.20-1.el7.x86_64.rpm-bundle.tar
              mysql-community-client-8.0.20-1.el7.x86_64.rpm
              mysql-community-common-8.0.20-1.el7.x86_64.rpm
              mysql-community-devel-8.0.20-1.el7.x86_64.rpm
              mysql-community-embedded-compat-8.0.20-1.el7.x86_64.rpm
              mysql-community-libs-8.0.20-1.el7.x86_64.rpm
              mysql-community-libs-compat-8.0.20-1.el7.x86_64.rpm
              mysql-community-server-8.0.20-1.el7.x86_64.rpm
              mysql-community-test-8.0.20-1.el7.x86_64.rpm
              repodata
              [root@mysql software]# ls -ltr repodata/
              total 256
              -rw-r--r--. 1 root root 3993 Jun 2 22:37 568657c8cd2ea7d517f173563894a85b905a275cdc415c8d20d004776fdcab9d-primary.xml.gz
              -rw-r--r--. 1 root root 1643 Jun 2 22:37 b4d714eef8e7df8c3795205afcd49aca7f74030bee9848f6063135701df32299-other.xml.gz
              -rw-r--r--. 1 root root 125476 Jun 2 22:37 9d2b015d292b0a04d502f978fc37a103c321124a76e224e830ab79c2192ddc43-filelists.xml.gz
              -rw-r--r--. 1 root root 3635 Jun 2 22:37 1971f8702ae5f3a80c854d0fdaa76a25132a39f1da93fe7bafb1b5a1aa37b2ce-other.sqlite.bz2
              -rw-r--r--. 1 root root 103431 Jun 2 22:37 998e1f4fac6da85f33bc85415d51d10be4e98c701f918dab0f3deb73c7de79b6-filelists.sqlite.bz2
              -rw-r--r--. 1 root root 2983 Jun 2 22:37 repomd.xml
              -rw-r--r--. 1 root root 11980 Jun 2 22:37 7afd16d37a0732ee0b4b26061803d720a1a6dfbbad9670c3816c078bd2f2ce29-primary.sqlite.bz2
              [root@mysql software]#

              如上,这样YUM源就制作好了。


              三、将YUM源注册到当前Linux系统中


                [root@mysql yum.repos.d]# pwd
                /etc/yum.repos.d
                [root@mysql yum.repos.d]#
                [root@mysql yum.repos.d]# ls -ltr
                total 8
                -rw-r--r--. 1 root root 358 Jun 2 20:39 redhat.repo
                -rw-r--r--. 1 root root 55 Jun 2 22:39 local.repo
                [root@mysql yum.repos.d]#
                [root@mysql yum.repos.d]# cat local.repo
                [local]
                name=local
                baseurl=file:///software
                gpgcheck=0
                [root@mysql yum.repos.d]#

                四、验证


                  [root@mysql yum.repos.d]# yum repolist
                  Loaded plugins: langpacks, product-id, search-disabled-repos, subscription-
                  : manager


                  This system is not registered with an entitlement server. You can use subscription-manager to register.


                  global name 'warnOrGiveUsageMessage' is not defined
                  local | 2.9 kB 00:00
                  local/primary_db                                         |  12 kB    00:00     
                  repo id repo name status
                  local local 8
                  repolist: 8
                  [root@mysql yum.repos.d]#

                  可以看到,这时候【yum】命令已经可以识别到名为【local】的YUM仓库;


                  05

                  MySQL:安装


                  在前面的本地YUM仓库配好了以后,就可以通过YUM命令本地安装MySQL了:

                    [root@mysql ~]# yum list | grep mysql-community
                    global name 'warnOrGiveUsageMessage' is not defined
                    mysql-community-client.x86_64 8.0.20-1.el7 local
                    mysql-community-common.x86_64 8.0.20-1.el7 local
                    mysql-community-devel.x86_64 8.0.20-1.el7 local
                    mysql-community-embedded-compat.x86_64 8.0.20-1.el7 local
                    mysql-community-libs.x86_64 8.0.20-1.el7 local
                    mysql-community-libs-compat.x86_64 8.0.20-1.el7 local
                    mysql-community-server.x86_64 8.0.20-1.el7 local
                    mysql-community-test.x86_64 8.0.20-1.el7 local
                    [root@mysql ~]#
                    [root@mysql ~]# yum install -y mysql-community-server
                    Loaded plugins: langpacks, product-id, search-disabled-repos, subscription-
                    : manager


                    This system is not registered with an entitlement server. You can use subscription-manager to register.


                    global name 'warnOrGiveUsageMessage' is not defined
                    Resolving Dependencies
                    --> Running transaction check
                    ---> Package mysql-community-server.x86_64 0:8.0.20-1.el7 will be installed
                    --> Processing Dependency: mysql-community-common(x86-64) = 8.0.20-1.el7 for package: mysql-community-server-8.0.20-1.el7.x86_64
                    --> Processing Dependency: mysql-community-client(x86-64) >= 8.0.11 for package: mysql-community-server-8.0.20-1.el7.x86_64
                    --> Running transaction check
                    ---> Package mysql-community-client.x86_64 0:8.0.20-1.el7 will be installed
                    --> Processing Dependency: mysql-community-libs(x86-64) >= 8.0.11 for package: mysql-community-client-8.0.20-1.el7.x86_64
                    ---> Package mysql-community-common.x86_64 0:8.0.20-1.el7 will be installed
                    --> Running transaction check
                    ---> Package mariadb-libs.x86_64 1:5.5.65-1.el7 will be obsoleted
                    --> Processing Dependency: libmysqlclient.so.18()(64bit) for package: 2:postfix-2.10.1-9.el7.x86_64
                    --> Processing Dependency: libmysqlclient.so.18(libmysqlclient_18)(64bit) for package: 2:postfix-2.10.1-9.el7.x86_64
                    ---> Package mysql-community-libs.x86_64 0:8.0.20-1.el7 will be obsoleting
                    --> Running transaction check
                    ---> Package mysql-community-libs-compat.x86_64 0:8.0.20-1.el7 will be obsoleting
                    --> Finished Dependency Resolution


                    Dependencies Resolved
                    ================================================================================
                     Package                         Arch       Version             Repository                                                                           Size
                    ================================================================================
                    Installing:
                    mysql-community-libs x86_64 8.0.20-1.el7 local 4.5 M
                    replacing mariadb-libs.x86_64 1:5.5.65-1.el7
                    mysql-community-libs-compat x86_64 8.0.20-1.el7 local 1.2 M
                    replacing mariadb-libs.x86_64 1:5.5.65-1.el7
                    mysql-community-server x86_64 8.0.20-1.el7 local 488 M
                    Installing for dependencies:
                    mysql-community-client x86_64 8.0.20-1.el7 local 47 M
                    mysql-community-common x86_64 8.0.20-1.el7 local 609 k


                    Transaction Summary
                    ================================================================================
                    Install 3 Packages (+2 Dependent packages)


                    Total download size: 541 M
                    Downloading packages:
                    --------------------------------------------------------------------------------
                    Total 292 MB/s | 541 MB 00:01
                    Running transaction check
                    Running transaction test
                    Transaction test succeeded
                    Running transaction
                    Installing : mysql-community-common-8.0.20-1.el7.x86_64 1/6
                    Installing : mysql-community-libs-8.0.20-1.el7.x86_64 2/6
                    Installing : mysql-community-client-8.0.20-1.el7.x86_64 3/6
                    Installing : mysql-community-server-8.0.20-1.el7.x86_64 4/6
                    Installing : mysql-community-libs-compat-8.0.20-1.el7.x86_64 5/6
                    Erasing : 1:mariadb-libs-5.5.65-1.el7.x86_64 6/6
                    Verifying : mysql-community-libs-compat-8.0.20-1.el7.x86_64 1/6
                    Verifying : mysql-community-common-8.0.20-1.el7.x86_64 2/6
                    Verifying : mysql-community-server-8.0.20-1.el7.x86_64 3/6
                    Verifying : mysql-community-client-8.0.20-1.el7.x86_64 4/6
                    Verifying : mysql-community-libs-8.0.20-1.el7.x86_64 5/6
                    Verifying : 1:mariadb-libs-5.5.65-1.el7.x86_64 6/6


                    Installed:
                    mysql-community-libs.x86_64 0:8.0.20-1.el7
                    mysql-community-libs-compat.x86_64 0:8.0.20-1.el7
                    mysql-community-server.x86_64 0:8.0.20-1.el7


                    Dependency Installed:
                    mysql-community-client.x86_64 0:8.0.20-1.el7
                    mysql-community-common.x86_64 0:8.0.20-1.el7


                    Replaced:
                    mariadb-libs.x86_64 1:5.5.65-1.el7


                    Complete!
                    [root@mysql ~]#
                    [root@mysql ~]# mysql -V
                    mysql Ver 8.0.20 for Linux on x86_64 (MySQL Community Server - GPL)
                    [root@mysql ~]#

                    可以看到,MySQL安装成功,安装的版本是【Ver 8.0.20】


                    06

                    MySQL:安装后


                    看看前面的RPM在Linux上到底安装了哪些文件:

                      [root@mysql ~]# rpm -qa | grep mysql
                      mysql-community-common-8.0.20-1.el7.x86_64
                      mysql-community-client-8.0.20-1.el7.x86_64
                      mysql-community-server-8.0.20-1.el7.x86_64
                      mysql-community-libs-compat-8.0.20-1.el7.x86_64
                      mysql-community-libs-8.0.20-1.el7.x86_64
                      [root@mysql ~]#
                      [root@mysql ~]# rpm -ql mysql-community-server
                      /etc/logrotate.d/mysql
                      /etc/my.cnf
                      /etc/my.cnf.d
                      /usr/bin/ibd2sdi
                      /usr/bin/innochecksum
                      /usr/bin/lz4_decompress
                      /usr/bin/my_print_defaults
                      /usr/bin/myisam_ftdump
                      /usr/bin/myisamchk
                      /usr/bin/myisamlog
                      /usr/bin/myisampack
                      /usr/bin/mysql_secure_installation
                      /usr/bin/mysql_ssl_rsa_setup
                      /usr/bin/mysql_tzinfo_to_sql
                      /usr/bin/mysql_upgrade
                      /usr/bin/mysqld_pre_systemd
                      /usr/bin/mysqldumpslow
                      /usr/bin/perror
                      /usr/bin/zlib_decompress
                      /usr/lib/systemd/system/mysqld.service
                      /usr/lib/systemd/system/mysqld@.service
                      /usr/lib/tmpfiles.d/mysql.conf
                      /usr/lib64/mysql/mecab
                      /usr/lib64/mysql/mecab/dic
                      /usr/lib64/mysql/mecab/dic/ipadic_euc-jp
                      /usr/lib64/mysql/mecab/dic/ipadic_euc-jp/char.bin
                      /usr/lib64/mysql/mecab/dic/ipadic_euc-jp/dicrc
                      /usr/lib64/mysql/mecab/dic/ipadic_euc-jp/left-id.def
                      /usr/lib64/mysql/mecab/dic/ipadic_euc-jp/matrix.bin
                      /usr/lib64/mysql/mecab/dic/ipadic_euc-jp/pos-id.def
                      /usr/lib64/mysql/mecab/dic/ipadic_euc-jp/rewrite.def
                      /usr/lib64/mysql/mecab/dic/ipadic_euc-jp/right-id.def
                      /usr/lib64/mysql/mecab/dic/ipadic_euc-jp/sys.dic
                      /usr/lib64/mysql/mecab/dic/ipadic_euc-jp/unk.dic
                      /usr/lib64/mysql/mecab/dic/ipadic_sjis
                      /usr/lib64/mysql/mecab/dic/ipadic_sjis/char.bin
                      /usr/lib64/mysql/mecab/dic/ipadic_sjis/dicrc
                      /usr/lib64/mysql/mecab/dic/ipadic_sjis/left-id.def
                      /usr/lib64/mysql/mecab/dic/ipadic_sjis/matrix.bin
                      /usr/lib64/mysql/mecab/dic/ipadic_sjis/pos-id.def
                      /usr/lib64/mysql/mecab/dic/ipadic_sjis/rewrite.def
                      /usr/lib64/mysql/mecab/dic/ipadic_sjis/right-id.def
                      /usr/lib64/mysql/mecab/dic/ipadic_sjis/sys.dic
                      /usr/lib64/mysql/mecab/dic/ipadic_sjis/unk.dic
                      /usr/lib64/mysql/mecab/dic/ipadic_utf-8
                      /usr/lib64/mysql/mecab/dic/ipadic_utf-8/char.bin
                      /usr/lib64/mysql/mecab/dic/ipadic_utf-8/dicrc
                      /usr/lib64/mysql/mecab/dic/ipadic_utf-8/left-id.def
                      /usr/lib64/mysql/mecab/dic/ipadic_utf-8/matrix.bin
                      /usr/lib64/mysql/mecab/dic/ipadic_utf-8/pos-id.def
                      /usr/lib64/mysql/mecab/dic/ipadic_utf-8/rewrite.def
                      /usr/lib64/mysql/mecab/dic/ipadic_utf-8/right-id.def
                      /usr/lib64/mysql/mecab/dic/ipadic_utf-8/sys.dic
                      /usr/lib64/mysql/mecab/dic/ipadic_utf-8/unk.dic
                      /usr/lib64/mysql/mecab/etc
                      /usr/lib64/mysql/mecab/etc/mecabrc
                      /usr/lib64/mysql/plugin
                      /usr/lib64/mysql/plugin/adt_null.so
                      /usr/lib64/mysql/plugin/auth_socket.so
                      /usr/lib64/mysql/plugin/authentication_ldap_sasl_client.so
                      /usr/lib64/mysql/plugin/component_audit_api_message_emit.so
                      /usr/lib64/mysql/plugin/component_log_filter_dragnet.so
                      /usr/lib64/mysql/plugin/component_log_sink_json.so
                      /usr/lib64/mysql/plugin/component_log_sink_syseventlog.so
                      /usr/lib64/mysql/plugin/component_mysqlbackup.so
                      /usr/lib64/mysql/plugin/component_validate_password.so
                      /usr/lib64/mysql/plugin/connection_control.so
                      /usr/lib64/mysql/plugin/ddl_rewriter.so
                      /usr/lib64/mysql/plugin/debug
                      /usr/lib64/mysql/plugin/debug/adt_null.so
                      /usr/lib64/mysql/plugin/debug/auth_socket.so
                      /usr/lib64/mysql/plugin/debug/authentication_ldap_sasl_client.so
                      /usr/lib64/mysql/plugin/debug/component_audit_api_message_emit.so
                      /usr/lib64/mysql/plugin/debug/component_log_filter_dragnet.so
                      /usr/lib64/mysql/plugin/debug/component_log_sink_json.so
                      /usr/lib64/mysql/plugin/debug/component_log_sink_syseventlog.so
                      /usr/lib64/mysql/plugin/debug/component_mysqlbackup.so
                      /usr/lib64/mysql/plugin/debug/component_validate_password.so
                      /usr/lib64/mysql/plugin/debug/connection_control.so
                      /usr/lib64/mysql/plugin/debug/ddl_rewriter.so
                      /usr/lib64/mysql/plugin/debug/group_replication.so
                      /usr/lib64/mysql/plugin/debug/ha_example.so
                      /usr/lib64/mysql/plugin/debug/ha_mock.so
                      /usr/lib64/mysql/plugin/debug/innodb_engine.so
                      /usr/lib64/mysql/plugin/debug/keyring_file.so
                      /usr/lib64/mysql/plugin/debug/keyring_udf.so
                      /usr/lib64/mysql/plugin/debug/libmemcached.so
                      /usr/lib64/mysql/plugin/debug/libpluginmecab.so
                      /usr/lib64/mysql/plugin/debug/locking_service.so
                      /usr/lib64/mysql/plugin/debug/mypluglib.so
                      /usr/lib64/mysql/plugin/debug/mysql_clone.so
                      /usr/lib64/mysql/plugin/debug/mysql_no_login.so
                      /usr/lib64/mysql/plugin/debug/rewrite_example.so
                      /usr/lib64/mysql/plugin/debug/rewriter.so
                      /usr/lib64/mysql/plugin/debug/semisync_master.so
                      /usr/lib64/mysql/plugin/debug/semisync_slave.so
                      /usr/lib64/mysql/plugin/debug/validate_password.so
                      /usr/lib64/mysql/plugin/debug/version_token.so
                      /usr/lib64/mysql/plugin/group_replication.so
                      /usr/lib64/mysql/plugin/ha_example.so
                      /usr/lib64/mysql/plugin/ha_mock.so
                      /usr/lib64/mysql/plugin/innodb_engine.so
                      /usr/lib64/mysql/plugin/keyring_file.so
                      /usr/lib64/mysql/plugin/keyring_udf.so
                      /usr/lib64/mysql/plugin/libmemcached.so
                      /usr/lib64/mysql/plugin/libpluginmecab.so
                      /usr/lib64/mysql/plugin/locking_service.so
                      /usr/lib64/mysql/plugin/mypluglib.so
                      /usr/lib64/mysql/plugin/mysql_clone.so
                      /usr/lib64/mysql/plugin/mysql_no_login.so
                      /usr/lib64/mysql/plugin/rewrite_example.so
                      /usr/lib64/mysql/plugin/rewriter.so
                      /usr/lib64/mysql/plugin/semisync_master.so
                      /usr/lib64/mysql/plugin/semisync_slave.so
                      /usr/lib64/mysql/plugin/validate_password.so
                      /usr/lib64/mysql/plugin/version_token.so
                      /usr/lib64/mysql/private
                      /usr/lib64/mysql/private/libprotobuf-lite.so.3.6.1
                      /usr/lib64/mysql/private/libprotobuf.so.3.6.1
                      /usr/sbin/mysqld
                      /usr/sbin/mysqld-debug
                      /usr/share/doc/mysql-community-server-8.0.20
                      /usr/share/doc/mysql-community-server-8.0.20/INFO_BIN
                      /usr/share/doc/mysql-community-server-8.0.20/INFO_SRC
                      /usr/share/doc/mysql-community-server-8.0.20/LICENSE
                      /usr/share/doc/mysql-community-server-8.0.20/README
                      /usr/share/man/man1/ibd2sdi.1.gz
                      /usr/share/man/man1/innochecksum.1.gz
                      /usr/share/man/man1/lz4_decompress.1.gz
                      /usr/share/man/man1/my_print_defaults.1.gz
                      /usr/share/man/man1/myisam_ftdump.1.gz
                      /usr/share/man/man1/myisamchk.1.gz
                      /usr/share/man/man1/myisamlog.1.gz
                      /usr/share/man/man1/myisampack.1.gz
                      /usr/share/man/man1/mysql.server.1.gz
                      /usr/share/man/man1/mysql_secure_installation.1.gz
                      /usr/share/man/man1/mysql_ssl_rsa_setup.1.gz
                      /usr/share/man/man1/mysql_tzinfo_to_sql.1.gz
                      /usr/share/man/man1/mysql_upgrade.1.gz
                      /usr/share/man/man1/mysqldumpslow.1.gz
                      /usr/share/man/man1/mysqlman.1.gz
                      /usr/share/man/man1/perror.1.gz
                      /usr/share/man/man1/zlib_decompress.1.gz
                      /usr/share/man/man8/mysqld.8.gz
                      /usr/share/mysql-8.0/dictionary.txt
                      /usr/share/mysql-8.0/innodb_memcached_config.sql
                      /usr/share/mysql-8.0/install_rewriter.sql
                      /usr/share/mysql-8.0/mysql-log-rotate
                      /usr/share/mysql-8.0/uninstall_rewriter.sql
                      /var/lib/mysql
                      /var/lib/mysql-files
                      /var/lib/mysql-keyring
                      /var/run/mysqld
                      [root@mysql ~]#


                      上面的文件主要被安装到了这几个目录中:

                      1. /var/lib

                      2. /var/run

                      3. /usr/share/doc

                      4. /usr/share/man

                      5. /usr/sbin

                      6. /usr/lib64/mysql

                      7. /usr/lib

                      8. /usr/bin

                      9. /etc/my.cnf.d

                      10. /etc/my.cnf

                      11. /etc/logrotate.d/mysql


                      关于它们的说明可以看官方文档给出的说明:


                      此外,还在Linux中创建了用户【mysql】

                        [root@mysql ~]# id mysql
                        uid=27(mysql) gid=27(mysql) groups=27(mysql)
                        [root@mysql ~]#
                        [root@mysql ~]# cat etc/passwd | tail -n 1
                        mysql:x:27:27:MySQL Server:/var/lib/mysql:/bin/false
                        [root@mysql ~]#
                        [root@mysql ~]# cat etc/group | tail -n 1
                        mysql:x:27:
                        [root@mysql ~]#


                        07

                        MySQL:服务启动


                        对于【Red Hat Enterprise Linux, Oracle Linux, CentOS, and Fedora】可以使用下面的方法启动MySQL服务:

                          [root@mysql ~]# systemctl status mysql
                          Unit mysql.service could not be found.
                          [root@mysql ~]#
                          [root@mysql ~]#
                          [root@mysql ~]# systemctl status mysqld
                          ● mysqld.service - MySQL Server
                          Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
                          Active: inactive (dead)
                          Docs: man:mysqld(8)
                          http://dev.mysql.com/doc/refman/en/using-systemd.html
                          [root@mysql ~]#
                          [root@mysql ~]# systemctl start mysqld
                          [root@mysql ~]#
                          [root@mysql ~]# systemctl status mysqld
                          ● mysqld.service - MySQL Server
                          Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
                          Active: active (running) since Tue 2020-06-02 22:56:51 CST; 3s ago
                          Docs: man:mysqld(8)
                          http://dev.mysql.com/doc/refman/en/using-systemd.html
                          Process: 53004 ExecStartPre=/usr/bin/mysqld_pre_systemd (code=exited, status=0/SUCCESS)
                          Main PID: 53081 (mysqld)
                          Status: "Server is operational"
                          Tasks: 39
                          CGroup: system.slice/mysqld.service
                          └─53081 usr/sbin/mysqld




                          Jun 02 22:56:43 mysql systemd[1]: Starting MySQL Server...
                          Jun 02 22:56:51 mysql systemd[1]: Started MySQL Server.
                          [root@mysql ~]#


                          如上,启动成功;


                          看看启动后的状态:


                          端口:

                            [root@mysql ~]# ps -ef | grep mysql
                            avahi 1054 1 0 20:25 ? 00:00:00 avahi-daemon: running [mysql.local]
                            mysql 53081 1 2 22:56 ? 00:00:01 usr/sbin/mysqld
                            root 53136 51753 0 22:57 pts/1 00:00:00 grep --color=auto mysql
                            [root@mysql ~]#
                            [root@mysql ~]# netstat -tupln | grep mysql
                            tcp6 0 0 :::33060 :::* LISTEN 53081/mysqld
                            tcp6 0 0 :::3306 :::* LISTEN 53081/mysqld
                            [root@mysql ~]#


                            可以看到,MySQL的端口,默认监听【3306】


                            数据目录:

                              [root@mysql ~]# cat etc/my.cnf | grep -v "^#" 
                              [mysqld]


                              datadir=/var/lib/mysql
                              socket=/var/lib/mysql/mysql.sock


                              log-error=/var/log/mysqld.log
                              pid-file=/var/run/mysqld/mysqld.pid
                              [root@mysql ~]#
                              [root@mysql ~]# ls -ltr var/lib/mysql
                              total 176580
                              -rw-r-----. 1 mysql mysql 50331648 Jun 2 22:56 ib_logfile1
                              -rw-r-----. 1 mysql mysql 8585216 Jun 2 22:56 #ib_16384_1.dblwr
                              drwxr-x---. 2 mysql mysql 8192 Jun 2 22:56 performance_schema
                              -rw-r-----. 1 mysql mysql 56 Jun 2 22:56 auto.cnf
                              -rw-------. 1 mysql mysql 1680 Jun 2 22:56 ca-key.pem
                              -rw-r--r--. 1 mysql mysql 1112 Jun 2 22:56 ca.pem
                              -rw-------. 1 mysql mysql 1676 Jun 2 22:56 server-key.pem
                              -rw-r--r--. 1 mysql mysql 1112 Jun 2 22:56 server-cert.pem
                              -rw-------. 1 mysql mysql 1680 Jun 2 22:56 client-key.pem
                              -rw-r--r--. 1 mysql mysql 1112 Jun 2 22:56 client-cert.pem
                              -rw-r--r--. 1 mysql mysql 452 Jun 2 22:56 public_key.pem
                              -rw-------. 1 mysql mysql 1676 Jun 2 22:56 private_key.pem
                              drwxr-x---. 2 mysql mysql 143 Jun 2 22:56 mysql
                              drwxr-x---. 2 mysql mysql 28 Jun 2 22:56 sys
                              -rw-r-----. 1 mysql mysql 5499 Jun 2 22:56 ib_buffer_pool
                              drwxr-x---. 2 mysql mysql 187 Jun 2 22:56 #innodb_temp
                              -rw-r-----. 1 mysql mysql 16 Jun 2 22:56 binlog.index
                              -rw-r-----. 1 mysql mysql 156 Jun 2 22:56 binlog.000001
                              -rw-------. 1 mysql mysql 6 Jun 2 22:56 mysql.sock.lock
                              srwxrwxrwx. 1 mysql mysql 0 Jun 2 22:56 mysql.sock
                              -rw-r-----. 1 mysql mysql 12582912 Jun 2 22:56 ibtmp1
                              -rw-r-----. 1 mysql mysql 12582912 Jun 2 22:56 ibdata1
                              -rw-r-----. 1 mysql mysql 10485760 Jun 2 22:56 undo_001
                              -rw-r-----. 1 mysql mysql 10485760 Jun 2 22:56 undo_002
                              -rw-r-----. 1 mysql mysql 196608 Jun 2 22:56 #ib_16384_0.dblwr
                              -rw-r-----. 1 mysql mysql 25165824 Jun 2 22:56 mysql.ibd
                              -rw-r-----. 1 mysql mysql 50331648 Jun 2 22:56 ib_logfile0
                              [root@mysql ~]#
                              [root@mysql ~]# du -sh var/lib/mysql
                              175M var/lib/mysql
                              [root@mysql ~]#


                              可以看到,服务启动后,MySQL的数据目录就被初始化了;

                              从前面的【my.cnf】还可以看到,默认的MySQL日志文件位于【/var/log/mysqld.log】


                              修改【root@local】临时的随机密码:


                              首先要找到随机密码:

                                [root@mysql ~]# grep 'temporary password' var/log/mysqld.log
                                2020-06-02T14:56:47.844580Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: BN8jGiiulw=&
                                [root@mysql ~]#


                                修改随机口令:

                                  [root@mysql ~]# mysql -uroot -p
                                  Enter password:
                                  Welcome to the MySQL monitor. Commands end with ; or \g.
                                  Your MySQL connection id is 8
                                  Server version: 8.0.20


                                  Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.


                                  Oracle is a registered trademark of Oracle Corporation and/or its
                                  affiliates. Other names may be trademarks of their respective
                                  owners.


                                  Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.


                                  mysql>
                                  mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass4!';
                                  Query OK, 0 rows affected (0.01 sec)


                                  mysql>
                                  mysql> exit
                                  Bye
                                  [root@mysql ~]#


                                  用修改的新的口令登录MySQL:

                                    [root@mysql ~]# mysql -uroot -p'MyNewPass4!'                 
                                    mysql: [Warning] Using a password on the command line interface can be insecure.
                                    Welcome to the MySQL monitor. Commands end with ; or \g.
                                    Your MySQL connection id is 9
                                    Server version: 8.0.20 MySQL Community Server - GPL


                                    Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.


                                    Oracle is a registered trademark of Oracle Corporation and/or its
                                    affiliates. Other names may be trademarks of their respective
                                    owners.


                                    Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.


                                    mysql> exit
                                    Bye
                                    [root@mysql ~]#


                                    可以看到,MySQL的临时口令修改完成。


                                    08


                                    至此,最简单的MySQL的安装文档,结束。


                                    文章转载自Nephilim,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

                                    评论