• RedHat 7.6 安装 Mysql 8.0.17


    # 查看是否安装mysql

    rpm -qa | grep -i mysql

    # 如果有,需要卸载旧版本Mysql及相关依赖包

    rpm -e MySQL-client-***

    # 查看开机启动服务列表状态

    systemctl list-unit-files

    # 禁用mysql服务

    systemctl disable mysqld

    # 查找mysql文件夹 find / -name *mysql*

    whereis mysql

    # 删除 对应的目录下所有文件 注意不要把有用的删了

    rm -rf /use/lib/mysql

    卸载系统预置的mariadb,才能安装mysql。因为centos 和 redhat 内部集成了mariadb, 如果不卸载mariadb,安装mysql时会和mariadb文件冲突.

    # 查询是否已安装的mariadb
    rpm -qa|grep mariadb
    # 卸载mariadb,文件名为上述命令查询出来的文件 rpm
    -e --nodeps 文件名

    # 重启系统
    reboot

    创建下载目录

    mkdir /usr/local/mysql8
    cd /usr/local/mysql8

    Mysql官方地址:

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

    # 下载安装包
    wget https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-8.0.17-1.el7.x86_64.rpm-bundle.tar
    
    # 解压
    tar -xvf mysql-8.0.17-1.el7.x86_64.rpm-bundle.tar
    
    # 按照以下顺序安装  
    # -i 安装 -v 列出更多详细信息 -h 安装时列出hash标记
    rpm -ivh mysql-community-common-8.0.17-1.el7.x86_64.rpm 
    rpm
    -ivh mysql-community-libs-8.0.17-1.el7.x86_64.rpm rpm -ivh mysql-community-libs-compat-8.0.17-1.el7.x86_64.rpm rpm -ivh mysql-community-devel-8.0.17-1.el7.x86_64.rpm rpm -ivh mysql-community-client-8.0.17-1.el7.x86_64.rpm rpm -ivh mysql-community-server-8.0.17-1.el7.x86_64.rpm

      rpm -ivh mysql-community-test-8.0.17-1.el7.x86_64.rpm

      错误:依赖检测失败:perl(JSON) 被 mysql-community-test-8.0.17-1.el7.x86_64 需要

    因为缺少perl-JSON依赖包.

    #查找perl-JSON相关包名称
    yum list perl-JSON  或 yum list |grep "perl-JSON"
    
    # 安装perl-JSON
    yum install -y perl-JSON-2.59-2.el7.noarch

    #重新安装
    rpm -ivh mysql-community-test-8.0.17-1.el7.x86_64.rpm

    mysql安装完成.

    # 查看mysql服务运行状态
    systemctl status mysqld
    
    # 启动mysqld服务
    systemctl start mysqld
    
    # 查看临时密码
    grep -i password /var/log/mysqld.log
    
    # 使用临时密码登录
    mysql -u root -p'密码'

    修改root用户默认密码  我执行 以下语句一直是等待输入的状态, 不太熟悉mysql, 查了一个多小时没查到什么问题, 问了下群里告诉我说 少了 ; , 输入; 就可以了.

    # 缺少 ; 语句后不加; 不会返回执行结果, 显示等待输入, 一定要加; 表示语句结束.  显示等待输入, 此时输入; 回车就可以了.
    alter USER 'root'@'localhost' IDENTIFIED BY 'DEFg@ABC1'
    # 正确的语句
    alter USER 'root'@'localhost' IDENTIFIED BY 'DEFg@ABC1';

    修改root用户远程登录

    #切换数据库
    use mysql;
    
    # 查看用户是否允许远程登录 localhost 仅本地  % 可以远程登录
    select host,user, authentication_string, plugin from user;
    
    # 修改root用户可远程登录.
    update user set host = "%" where user='root';

    使用远程工具连接mysql8.0, 账户密码都正确但是报错. 查了下具体是因为:之前版本MySQL的密码认证插件为“mysql_native_password”,新版本改为:“caching_sha2_password”.  

    #修改为旧的密码认证方式.
    use mysql;
    
    alter USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'DEFg@ABC1';
    
    flush privileges;

    修改完就可以使用远程管理工具连接mysql8.0.17了.

     一个重要的命令:

    #退出mysql
    quit

    重要的目录:

    datadir=/var/lib/mysql
    log-error=/var/log/mysqld.log
    pid-file=/var/run/mysqld/mysqld.pid

    # 查看运行进程
    ps -ef | grep mysqld
    
    # 查看端口
    netstat -tulpn |grep mysqld
    
    
    服务操作:
    
    # 启动服务
    systemctl start mysqld
    
    # 重启服务
    systemctl restart mysqld
    
    # 加入开机启动
    systemctl enable mysqld;
    
    # 停止运行服务
    systemctl stop  mysqld ;
    
    # 加入开机禁用
    systemctl disable  mysqld;
    
    # 查看状态
    systemctl status mysqld;
    
    # 查看httpd的开机启动状态列表
    systemctl list-unit-files;
  • 相关阅读:
    呈现系统-组件间的通信方式(7)
    web项目中图标的前端处理方案
    ADO--数据访问技术
    canvas--绘制路径
    canvas--改变颜色
    canvas-在画布中画两个方块(一个空心一个实体)
    canvas--画布《第一步》
    拼图游戏【简单】
    判断字符串是否为空--string.Empty、string=""、s.length==0
    判断Char是否为数字
  • 原文地址:https://www.cnblogs.com/levia/p/11396512.html
Copyright © 2020-2023  润新知