• MYSQL8在CentOS8环境的安装方法(DNF/YUM)


     

     

    MYSQL8在CentOS8环境的安装方法(DNF/YUM)

     

     

     

     

    一、必要的说明和注意事项:

     

           0、全程使用”root“账户,安装数据库。

     

           1、mysql存放数据文件的文件夹,必须是mysql用户所有,且mysql用户拥有读写执行的权限。使用dnf安装的mysql数据库,”数据库文件“默认存放在这个路径下:" /var/lib/mysql " ,因此必须手动设置”mysql文件夹“的所有者和属组以及用户mysql的读写权限。

     

           2、my.cnf位置:/etc/my.cnf,编辑my.cnf文件:vim    /etc/my.cnf

     

                  # my.cnf文件内容如下所示(井号所在的行是注释,这部分内容不用写):

                  [mysqld]

                  #datadir是设置”数据库文件“的存放路径,需要自己手动建立文件夹

                  datadir = /var/lib/mysql/mysqldata

                  # mysqld服务的端口号设置

                  port = 3306

     

          3、安装环境:

                3.1操作系统:CentOS-8.2.2004-x86_64-dvd1.iso

     

     

     

     

    二、删除已安装的mysql数据库文件:

     

           1、查询mysql的相关文件: rpm -qa | grep mysql

     

           2、使用dnf/yum安装的mysql数据库的卸载: dnf     remove     mysql * (注意事项:mysql和*没挨着;因为他们挨着卸不掉mysql文件和依赖包)

     

           3、使用rpm安装的mysql数据库的卸载:rpm    -e    --nodeps    XX(XX是安装包名称,二.1所示的所有安装包都要卸载掉)

     

           4、卸载时,必须进行这个操作,删除下面列举的文件夹

                  4.1、/var/lib/mysql:存储”数据库文件“的默认文件夹

                  4.2、存储“数据库文件”的文件夹(mysqldata),即my.cnf的datadir配置路径。默认情况下,“数据库文件”存储在/var/lib/mysql文件夹内,因此4.1就包含了存储“数据库文件”的文件夹。

                  4.3、/var/log/mysql:数据库的日志文件夹

     

     

     

     

    三、配置mysql数据库的DNF/YUM源:

     

           1、DNF/YUM源的配置的路径:/etc/yum.repos.d/

     

           2、下载文件名称:mysql80-community-release-el8-1.noarch.rpm

                  wget    https://repo.mysql.com//mysql80-community-release-el8-1.noarch.rpm

     

           3、文件mysql80-community-release-el8-1.noarch.rpm的作用:

                  在“/etc/yum.repos.d/”路径下,添加的mysql仓库文件,为了使用dnf安装mysql数据库做准备。

     

           4、如果你的dnf仓库文件包含mysql安装库,你可以跳过步骤(三)的操作,直接进行步骤(四)的mysql数据库的安装。

     

     

     

     

    四、mysql数据库的安装:

     

           1、安装数据库:dnf    install    -y       mysql-server

     

     

     

     

    五、检查mysql数据库是否安装成功:

     

           1、mysqladmin       --version;(mysqladmin命令位置:/usr/bin/mysqladmin);出现下面的信息,表示mysql数据库安装成功:mysqladmin  Ver 8.0.21 for Linux on x86_64 (Source distribution)

     

     

     

     

    六、配置mysql数据库(my.cnf)

           

           1、my.cnf位置:/etc/my.cnf

     

           2、my.cnf配置:vim       /etc/my.cnf

           #my.cnf文件的配置

           [mysqld]

           datadir = /var/lib/mysql/mysqldata

           port = 3306

     

        

     

     

     

     

    七、第一次授权:数据库的初始化

     

           1、创建存储“数据库文件”的文件夹mysqldata:

                  1.1、切换目录:cd       /var/lib/mysql

                  1.2、创建“数据库文件”存储目录:mkdir       mysqldata

           

           2、添加mysql用户和组

                  2.1、添加mysql用户:       useradd       mysql

                  2.2、添加mysql组:       groupadd       mysql

                  2.3、说明:在mysql安装完毕以后,可以省略创建mysql的用户和组的操作。在mysql数据库安装的过程中,会自动创建mysql用户和mysql组。

     

           3、(第一次授权操作:为了“数据库初始化”,mysqld    --initialize)设置存储“数据库文件”的文件夹的权限:

                  3.1、修改/var/lib/mysql文件夹的所有者和属组: chown       -R       mysql.mysql       /var/lib/mysql

                  3.2、修改/var/lib/mysql/文件夹的权限:chmod       -R       755       /var/lib/mysql

     

          4、数据库的初始化:mysqld      --initialize

     

          5、查看初始化密码:cat /var/log/mysql/mysqld.log

     

          6、数据库的初始化密码,用于root用户第一次登录数据库。“初始化密码”保存在mysqld.log文件(/var/log/mysql/mysqld.log);冒号后面的内容就是初始化密码。

                2020-11-22T17:14:28.725955Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: =-&8,.*0pfPh   

     

          7、(第一次授权操作的用途)说明:这里容易初始化失败,初始化失败原因是存储“数据库文件”的文件夹中有文件存在,即"/var/lib/mysql/mysqldata"文件夹内有文件存在,删除“/var/lib/mysql/mysqldata”中的文件即可(cd  /var/lib/mysql/mysqldata;    rm -rf *);然后重新进行“初始化”

     

     

     

     

    八、第二次授权:启动mysqld服务

     

          1、准备启动mysqld服务(第二次授权):在mysqld服务启动的过程中,mysqld需要在存储“数据库文件”的文件夹下面再次创建文件夹且进行读写操作,因此需要再次对“/var/lib/mysq/”文件夹进行权限设置。这里不进行第二次授权操作,启动mysqld服务会失败

                  1.1、修改/var/lib/mysql文件夹的所有者和属组: chown       -R       mysql.mysql       /var/lib/mysql

                  1.2、修改/var/lib/mysql文件夹的权限:chmod       -R       755       /var/lib/mysql

     

          2、启动mysql服务:systemctl      start      mysqld

     

     

     

     

    九、设置mysqld开机自启动:

     

          1、设置mysql开机启动:systemctl      enable      mysqld

     

          2、mysqld的常用命令:

                2.1、启动mysqld服务:systemctl      start      mysqld

                2.2、关闭mysqld服务:systemctl      stop      mysqld

                2.3、重启mysqld服务:systemctl      restart      mysqld

                2.4、查看mysqld服务:systemctl      status      mysqld

                2.5、设置开机自启动mysqld服务:systemctl      enable      mysqld

                2.6、关闭开机自启动mysqld服务:systemctl      disable      mysqld

     

     

     

     

    十、第一次登陆数据库:

     

           1、查看数据库的初始化密码(七.6),数据库的初始化密码为:=-&8,.*0pfPh

     

           2、登陆服务器:mysql       -uroot       -p  ;回车;输入数据库的初始化密码:

     

     

     

     

    十一、在登录数据库的条件下,修改root用户的登陆密码:

     

           1、mysql >       alter       user       root@localhost       identified       by       "1234xx"       ;

     

     

     

     

    十二、特别的操作

     

           1、创建一个文件夹:/var/mysql/lib/mysqldata(mysqldata文件夹用于存储“数据库文件”);

     

           2、建立一个用户和组:建立的用户为mysql;建立的组为mysql。mysql用户和组,用作给/var/lib/mysql文件夹和存储“数据库文件”的文件夹授权。

     

           3、两次授权操作。

                  3.1、(七)第一次对/var/lib/mysql和/var/lib/mysql/mysqldata文件夹进行授权操作,为了数据库的初始化(mysqld        --initialize)(初始化过程中,mysqld需要对”/var/lib/mysql/mysqldata“文件夹进行读写操作)

                  3.2、(八)第二次对/var/lib/mysql和/var/lib/mysql/mysqldata文件夹进行授权操作,为了启动mysqld服务(systemctl       start       mysqld)(启动mysqld服务的过程中,mysqld需要对”/var/lib/mysql/mysqldata“的子文件夹进行读写操作)

     

     

     

     

    十三、安装完毕。恭喜你开始了mysql数据库的学习,虽然会遇到很多困难,请保持不断奋斗的精神。祝你能成为mysql数据库的大神。

     

    本文由lnlidawei(https://www.cnblogs.com/lnlidawei)原创或整理,转载请注明出处。
  • 相关阅读:
    python测试开发django(27)--发送html格式邮件
    python测试开发django(26)--发送邮件send_mail
    python测试开发django(25)--表单提交之post修改密码
    python测试开发django(24)--表单提交之post登录案例
    python测试开发django(23)--表单提交之post注册案例
    python测试开发django(22)--表单提交之get请求
    [模拟] Codefroces 1175B Catch Overflow!
    [gcd,灵感] Codeforces 1200C Round Corridor
    [最短路,floyd] Codeforces 1204C Anna, Svyatoslav and Maps
    [最短路,最大流最小割定理] 2019 Multi-University Training Contest 1 Path
  • 原文地址:https://www.cnblogs.com/lnlidawei/p/14022601.html
Copyright © 2020-2023  润新知