Centos 8 安装压缩版 mysql-8.0.21-el7-x86_64.tar.gz


1、环境和安装包准备

  系统: CentOS-8.2.2004-x86_64-minimal.iso ,安装的是最小化标准版 且 /etc/selinux/config 配置已禁用
  mysql:mysql-8.0.21-el7-x86_64.tar.gz
  安装目录:/usr/local/src
  当前用户:root

  安装依赖,不然启动服务可能报错,起不来:

  yum install libncurses*

2、开始安装:

  第一步:把文件上传至安装目录,解压重命名为 mysql8.0

     cd /usr/local/src
     tar -xvf mysql-8.0.21-el7-x86_64.tar.gz
     mv mysql-8.0.21-el7-x86_64 mysql8.0

  第二步:切到mysql8.0目录,建立日志目录文件和数据目录,配置 my.cnf 文件

    cd mysql8.0
    mkdir data
    mkdir log
    touch log/mysql.log
    touch my.cnf

  第三步:编辑my.cnf 添加内容:

      (具体参考官网文档 https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html)

[mysqld]

user = mysql
port = 9797 #端口自定义,我这里配置的是9797
basedir = /usr/local/src/mysql8.0
datadir = /usr/local/src/mysql8.0/data
pid-file = /usr/local/src/mysql8.0/mysql.pid
socket = /tmp/mysql.sock

log-error = /usr/local/src/mysql8.0/log/mysql.log [mysql_safe]
log-error = /usr/local/src/mysql8.0/log/mysql.log
pid-file = /usr/local/src/mysql8.0/mysql.pid

  第四步:新建用户和组,并把mysql8.0目录指定给这个用户

    cd ..
    groupadd mysql
    useradd -r -g mysql mysql
    chown -R mysql:mysql mysql8.0

3、初始化mysql,获取密码,启动服务,建立命令软连接

  第一步: 切到mysql8.0/bin目录下,进行初始操作

    cd mysql8.0/bin
    ./mysqld --defaults-file=/usr/local/src/mysql8.0/my.cnf --initialize --user=mysql

  第二步:初始化完成,注意看打印的提示上面有mysql root账户的初始密码,

      复制到一边等会改密码用,类似于:
      #冒号后面就是密码
    [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: xxxxxxxxxxxx

    第三步:修改服务文件启动服务

    cd ../support-files/

         #修改配置文件:mysql.server 把 my.cnf 的配置写到这里面,文件里面已经有这两个变量,贴过来值即可,保存

     #等于号之间不要有空格

basedir=/usr/local/src/mysql8.0
datadir=/usr/local/src/mysql8.0/data

  第四步:启动服务,添加命令软链接到系统目录

    ./mysql.server start

    添加软连接到 /usr/bin ,这样可以全局执行mysql命令

    ln -fs /usr/local/src/mysql8.0/bin/mysql /usr/bin/
    ln -fs /usr/local/src/mysql8.0/bin/mysqldump /usr/bin/

4、更改root密码,并配置用户

  第一步:用root账号登录mysql

    mysql -u root -p

    #输入刚刚初始化的密码

  第二步:登录成功,开始配置用户

    #修改本机登录root密码 ,我修改密码为:wssf1234556,by后面的单引号里面定义自己的密码

    mysql>alter user 'root'@'localhost' identified with mysql_native_password by 'wssf1234556';

    mysql> flush privileges;

    #创建一个指定远程主机root用户,我这里指定的是192.168.3.10局域网机器,密码是:wssf1234556

    mysql> create user 'root'@'192.168.3.10' identified with mysql_native_password by 'wssf1234556';

    mysql> grant all privileges on *.* to 'root'@'192.168.3.10' with grant option;

    mysql> flush privileges;

    mysql> quit;


5、添加启动文件到系统目录,这样就能用系统命令操作mysql服务,用编辑工具编辑:

  第一步 编辑启动文件,添加内容:

    vim /usr/lib/systemd/system/mysql.service

[Unit]

Description = MySQL Server

After = network.target

After = syslog.target

[Service]

User = mysql

Group = mysql

Type = forking

PermissionsStartOnly = true

ExecStart = /usr/local/src/mysql8.0/support-files/mysql.server start

ExecStop = /usr/local/src/mysql8.0/support-files/mysql.server stop

ExecReload = /usr/local/src/mysql8.0/support-files/mysql.server restart

LimitNOFILE = 5000

[Install]

WantedBy = multi-user.target

  第二步 设置开机自启

    systemctl enable mysql.service

    #重启试试mysql启动没

  第三步 防火墙配置参考:https://www.cnblogs.com/dawnlz/p/12603180.html 

6.以上是压缩版安装步骤,嫌麻烦的可以移步参考rpm安装包粗暴的安装方式:https://www.cnblogs.com/DotSDot/p/13334506.html