CentOS7.9通过rpm离线安装mysql8.0

mysql5.6安装参考:https://blog.csdn.net/lgxzzz/article/details/124409836

mysql5.7安装参考:https://blog.csdn.net/weixin_44767040/article/details/124070626

下面是mysql8.0安装

一、MySQL8.0的安装

  1. 首先清除系统中默认的mariadb数据库,否则不能安装mysql

    rpm -qa |grep mariadb |xargs yum remove -y
    
  2. 执行下面命令没有数据则表明已经清除mariadb了

    rpm -qa |grep mariadb 
    
  3. 禁用selinux、关闭防火墙

    # 检查selinux状态
    sestatus
    # SELinux status: enabled
    # Current mode:	enforcing
    
    #永久禁用selinux
    # 打开/etc/sysconfig/selinux
    vi /etc/sysconfig/selinux
    # 将SELINUX=enforcing(你的可能不是enforcing,总之是改SELINUX的值)更改为SELINUX=disabled
    
    # 重启是禁用selinux生效
    reboot
    # 再次检查selinux状态,为disabled则禁用成功
    sestatus
    # SELinux status: disabled
    
    
    # 检查防火墙状态
    systemctl status firewalld 
    # 禁止启动防火墙
    # disable : 禁止开机启动
    # enable : 开机自启动
    # --now : 立即执行
    systemctl disable --now firewalld
    
    # 关闭防火墙
    systemctl stop firewalld
    

    注意:

    1. 如果mysql开启服务提示权限不够可能是selinux没有成功禁用
    2. 其他电脑连不上mysql检查一下防火墙是不是没关
  4. 官网下载mysql的rpm安装包,下载地址点这里

  5. 在linux上/usr/local目录下创建mysql文件夹

    cd /usr/local
    mkdir mysql
    
  6. 然后将安装包传到mysql文件夹下并解压

    tar axvf mysql-8.0.15-1.el7.x86_64.rpm-bundle.tar
    
  7. 进入解压的目录依次对rpm进行安装(不同版本mysql的rpm包可能不一样,都安装就行了)

    ls | grep .rpm$ | xargs rpm -ivh --force --nodeps
    

    ⚠️注意:如果安装过程中提示依赖检测失败,可在安装命令后面加“-i --force --nodeps”忽略依赖强制安装,例如:

    rpm -ivh mysql-community-client-8.0.28-1.el7.x86_64.rpm --force --nodeps
    
  8. 修改MySql配置

    vi /etc/my.cnf
    

    修改其中部分配置如下:

    #datadir=/var/lib/mysql
    datadir=/data/mysql
    socket=/var/lib/mysql/mysql.sock
    log-error=/var/log/mysqld.log
    pid-file=/var/run/mysqld/mysqld.pid
    
  9. 在根目录下创建data文件夹,然后通过以下命令,完成对 mysql 数据库的初始化和相关配置

    mysqld --initialize-insecure
    chown mysql:mysql /data/mysql -R
    systemctl start mysqld
    systemctl enable mysqld
    
  10. 这里安装好mysql没有密码

    # 进入mysql
    mysql -u root
    # 切换至mysql库
    use mysql
    # 给root用户设置新密码
    ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码';
    # 将root用户的Host改为%以便不限制ip访问数据库
    update user set Host='%' where USER ='root';
    # ctrl+z退出mysql
    # 重启mysql使刚刚的修改生效
    systemctl restart mysqld
    

二、安装过程中可能存在的问题

  1. 初始化时报错“Error while setting value ‘STRICT_TRANS_TABLES,NO_ZERO_IN_DATE…’ to ‘sql_mode’”
    报错信息:
    在这里插入图片描述
    解决方式:修改配置文件(vi /etc/my.cnf)注释掉sql_mode相关信息
    参考文档:mysql8 启动报错:Error while setting value ‘STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DI

  2. 初始化时报错
    报错信息:
    在这里插入图片描述
    解决方式:清空对应目录下的所有文件(此处是/data/mysql,具体以实际提示的为准)

以上问题是我或者其他参考该文章安装mysql的朋友遇到的问题记录,有其他问题可作补充

你可能感兴趣的:(linux,数据库,linux,mysql,运维,centos,数据库)