mysql 5.7 二进制安装

mysql 5.7 二进制安装

Acha
2021-03-28 / 0 评论 / 166 阅读 / 正在检测是否收录...
温馨提示:
本文最后更新于2021年04月02日,已超过1118天没有更新,若内容或图片失效,请留言反馈。

二进制 安装

  1. 下载并上传软件至 /server/tools

    [root@db01 ~]# mkdir -p /server/tools
    [root@db01 ~]# cd /server/tools/
    [root@db01 /server/tools]# yum install -y lrzsz
    [root@db01 /server/tools]# ls
    mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz
    
  2. 解压软件

    [root@db01 /server/tools]# tar xf mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz 
    [root@db01 ~]# mkdir /application
    [root@db01 /server/tools]# mv mysql-5.7.26-linux-glibc2.12-x86_64  /application/mysql
    
  3. 创建用户 处理原始环境

    [root@db01 ~]# yum remove mariadb-libs-5.5.60-1.el7_5.x86_64 -y
    [root@db01 ~]# rpm -qa |grep mariadb
    [root@db01 ~]# useradd -s /sbin/nologin mysql
    
  4. 设置环境变量

    vim /etc/profile
    export PATH=/application/mysql/bin:$PATH
    [root@db01 ~]# source /etc/profile
    [root@db01 ~]# mysql -V
    mysql  Ver 14.14 Distrib 5.7.26, for linux-glibc2.12 (x86_64) using  EditLine wrapper
    
  5. 创建数据路径并授权

    • 添加一块新磁盘模拟数据盘

    • 格式化并挂载磁盘

      [root@db01 ~]# mkfs.xfs /dev/sdc
      [root@db01 ~]# mkdir /data
      [root@db01 ~]# blkid
      [root@db01 ~]# vim /etc/fstab 
      [root@db01 ~]# UUID="b7fde522-aa37-412a-9584-8313a673c5cc" /data xfs defaults 0 0
      [root@db01 ~]# mount -a
      [root@db01 ~]# df -h
      
    • 授权

      chown -R mysql.mysql /application/*
      chown -R mysql.mysql /data
      
  6. 初始化数据(创建系统数据)

    • 5.6 版本

       /application/mysql/scripts/mysql_install_db
    • 5.7 版本

      • 正常版
        [root@db01 ~]# mkdir /data/mysql/data -p 
        [root@db01 ~]# chown -R mysql.mysql /data
        [root@db01 ~]# mysqld --initialize --user=mysql --basedir=/application/mysql --datadir=/data/mysql/data 
      

      说明:

      --initialize 参数:

      1. 对于密码复杂度进行定制:12位,4种

      2. 密码过期时间:180

      3. 给root@localhost用户设置临时密码

      报错:

      mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory

      解决:

      ```linux

      [root@db01 ~]# yum install -y libaio-devel

    [root@db01 ~]# mysqld --initialize --user=mysql --basedir=/application/mysql --datadir=/data/mysql/data2019-06-13T04:21:27.706564Z 1 [Note] A temporary password is generated for root@localhost: =mrV)_16is4U

     - 无限制版
    
        --initialize-insecure 参数:
    
        无限制,无临时密码
    
     ```linux
    [root@db01 /data/mysql/data]# \rm -rf /data/mysql/data/*
    [root@db01 ~]# mysqld --initialize-insecure --user=mysql --basedir=/application/mysql --datadir=/data/mysql/data
  7. 配置文件的准备

    cat >/etc/my.cnf <<EOF
    [mysqld]
    user=mysql
    basedir=/application/mysql
    datadir=/data/mysql/data
    socket=/tmp/mysql.sock
    server_id=6
    port=3306
    [mysql]
    socket=/tmp/mysql.sock
    EOF
    
  8. 启动数据库

    • sys -v

      [root@db01 /etc/init.d]# cp /application/mysql/support-files/mysql.server  /etc/init.d/mysqld 
      [root@db01 /etc/init.d]# service mysqld restart
      
    • systemd

      注意: sysv方式启动过的话,需要先提前关闭,才能以下方式登录

      cat >/etc/systemd/system/mysqld.service <<EOF
      [Unit]
      Description=MySQL Server
      Documentation=man:mysqld(8)
      Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html
      After=network.target
      After=syslog.target
      [Install]
      WantedBy=multi-user.target
      [Service]
      User=mysql
      Group=mysql
      ExecStart=/application/mysql/bin/mysqld --defaults-file=/etc/my.cnf
      LimitNOFILE = 5000
      EOF
      

无法启动

  1. without updating PID 类似错误

    查看日志:

    • 在哪?

    • /data/mysql/data/主机名.err

    • [ERROR] 上下文

    可能情况:

    • /etc/my.cnf 路径不对等
    • /tmp/mysql.sock文件修改过 或 删除过
    • 数据目录权限不是mysql
    • 参数改错了

密码设置

管理员密码的设定(root@localhost)

[root@db01 ~]# mysqladmin -uroot -p password oldboy123
Enter password: 

忘记密码

参数:

​ --skip-grant-tables #跳过授权表
​ --skip-networking #跳过远程登录

  1. 关闭数据库

    [root@db01 ~]# /etc/init.d/mysqld stop
    Shutting down MySQL.. SUCCESS! 
    
  2. 启动维护模式

    [root@db01 ~]# mysqld_safe --skip-grant-tables --skip-networking &
    
  3. 登录并修改密码

    mysql> alter user root@'localhost' identified by '1';
    ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement
    mysql> flush privileges;
    mysql> alter user root@'localhost' identified by '1';
    Query OK, 0 rows affected (0.01 sec)
    
  4. 关闭数据库,正常启动验证

    [root@db01 ~]# /etc/init.d/mysqld restart
    [root@db01 ~]# mysql -u root -p
    
0

评论

博主关闭了当前页面的评论