• CentOS 7 安装 MySQL 5.7


    一.安装前的准备工作

      (1) 卸载自带的MariaDB

    // 查询已安装的 mariadb 版本
    rpm -qa | grep mariadb
    // 如果本地存在该软件,则会显示软件完整名称
    // 例如:mariadb-libs-5.5.64-1.el7.x86_64
    // 卸载 mariadb
    rpm -e --nodeps mariadb-libs-5.5.64-1.el7.x86_64

      (2) 检查numactl依赖是否安装

    // 先使用查询电脑是否已经安装了numactl依赖
    rpm -qa|grep numactl
    // 如果已经安装则不需要执行这条
    yum -y install numactl.x86_64

      (3) 下载MySQL包

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

        

    // 切换到一个目录用来存放下载的包
    /usr/local
    // 接下来我会将软件安装到这个文件夹中,如果与我不同,注意下面的操作按需更改路径
    // 使用wget方式下载mysql-5.7.29
    wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.29-linux-glibc2.12-x86_64.tar.gz

    二.安装和配置

      (1) 解压

    // 解压包
    tar -zxvf mysql-5.7.29-linux-glibc2.12-x86_64.tar.gz
    // 将解压的包改名为mysql
    mv mysql-5.7.29-linux-glibc2.12-x86_64 mysql
    // 创建数据库文件存放位置
    mkdir /usr/local/mysql/data

      (2) 创建mysql用户用来维护数据库

    // 创建用户组:mysql
    groupadd mysql
    // 创建新用户mysql并添加到mysql用户组
    useradd -g mysql mysql
    // 修改mysql用户的密码,长度超过8位连续输入两次
    passwd mysql
    // 赋予mysql用户安装路径的权限
    chown -R mysql:mysql /usr/local/mysql

      

      (3) 安装

    // 切换到bin目录
    cd /usr/local/mysql/bin
    // 生成数据库实例
    ./mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
    // 生成的初始化密码一定要记下来,否则后面重制密码特别费劲

      

      (4) 配置mysql系统参数

    // 在etc下创建mysql的配置文件
    touch /etc/my.cnf
    // 我用nano文本编辑器,没有的可以下一个或者用vi
    nano /etc/my.cnf
    // 将以下文本拷入,如果安装路径不同,请自行更改
    [mysql]
    default-character-set=utf8mb4
    [mysqld]
    character_set_server=utf8mb4
    init_connect='SET NAMES utf8'
    basedir=/usr/local/mysql
    datadir=/usr/local/mysql/data
    socket=/tmp/mysql.sock
    lower_case_table_names = 1
    log-error=/var/log/mysqld.log
    pid-file=/usr/local/mysql/data/mysqld.pid
    // 保存并退出

      (5) 将mysql配置到系统服务中

    // 拷贝mysql系统服务文件到系统服务文件夹下
    cp /usr/local/mysql/support-files/mysql.server  /etc/init.d/mysql
    // 编辑文件
    nano /etc/init.d/mysql
    // 将basedir和datadir添加安装时配置的对应属性
    basedir=/usr/local/mysql
    datadir=/usr/local/mysql/data

      

      (5) 将mysql配置到系统自启中

    chkconfig --add mysql
    chkconfig mysql on

      (6) 将mysql配置到环境变量中

    // 编辑 /etc/profile 文件
    nano /etc/profile
    // 在文件末尾添加以下文本
    export PATH=$PATH:/usr/local/mysql/bin
    // 保存并退出
    // 刷新配置文件
    source /etc/profile
    // 测试
    mysql --version

      

    三.初始化MySQL

      (1) 启动

    // 确保mysql关闭
    service mysql stop
    // 启动mysql
    service mysql start

      

      (2) 检查mysql是否成功设置开机自启

    chkconfig | grep -i mysql
    // 3、4、5为on则成功,如果不是则执行
    chkconfig --level 345 mysql on

      

      (3) 修改root密码

    // 因为刚生成实例的mysql不修改root密码是禁止操作数据库的
    // 所以在外部环境就需要使用mysqladmin修改密码,前提mysql服务是启动的
    // 注意!如果宿主机和数据库不能保证在安全的连接下请勿使用此方法
    mysqladmin -u root -p password "新密码"
    // mysql会要求你输入原root用户密码,将初始化生成的密码粘进去

        如果遗失初始化的密码,请按照第四节方法初始化密码。

      (4) 登陆

         mysql -uroot -p 

    四.忘记密码时修改密码的方法

      (1) 使用root用户修改 /etc/my.cnf 文件

    nano /etc/my.cnf
    // 在[mysqld]后加入以下文本
    skip-grant-tables

      (2) 重启mysql服务

         service mysql restart 

        

      (3) 执行以下命令跳过密码进入mysql进行修改密码

    // 登陆mysql
    cd /usr/local/mysql/bin
    ./mysql
    // 重置密码,进入库mysql
    use mysql;
    // 重置密码,注意不同版本的密码列名不同,用desc user查看
    update user set authentication_string=password("wasd2020") where user="root";
    // 刷新缓存表
    flush privileges;
    // 退出
    quit;

      (4) 再修改 /etc/my.cnf 文件,将免密语句注释

    nano /etc/my.cnf
    // 用#注释掉skip-grant-tables
    #skip-grant-tables
    // 保存并退出

        

      (5) 重启mysql服务

         service mysql restart 

      (6) 密码已经重置成功,使用新密码登陆即可

  • 相关阅读:
    H5 20-属性选择器上
    H5 19-序选择器下
    H5 18-序选择器
    算法基础部分整理-《图解算法》
    iOS 内存管理之属性关键字
    多线程 ---基础定义部分
    Mongodb基本命令总结
    MySQL四种隔离级别和MVCC
    python同步原语--线程锁
    python进程间通信--信号Signal
  • 原文地址:https://www.cnblogs.com/NyanKoSenSei/p/13620909.html
Copyright © 2020-2023  润新知