• Linux安装MySQL8.0服务


    Linux安装MySQL8.0服务

    一、卸载

    首先第一步就是卸载mariadb

    1.1 查看mariadb

    rpm -qa | grep mariadb
    
    • 1

    1.2 卸载

    rpm -e --nodeps mariadb-libs-5.5.60-1.el7_5.x86_64
    
    • 1

    二、安装

    2.1 下载

    下载地址:https://mirrors.aliyun.com/mysql/MySQL-8.0,这里下载mysql-8.0.28-el7-x86_64.tar.gz

    2.2 上传

    将mysql-5.7.30-el7-x86_64.tar.gz压缩文件上传至/opt目录

    cd /opt
    
    • 1

    在这里插入图片描述

    2.3 解压

    将MySQL压缩文件解压至/usr/local目录

    tar -zxvf /opt/mysql-8.0.28-el7-x86_64.tar.gz -C /usr/local
    
    • 1

    2.4 重命名

    将MySQL根目录重命名为mysql

    cd 
    mv /usr/local/mysql-8.0.28-el7-x86_64 /usr/local/mysql
    
    • 1
    • 2

    注意:必须重命名为mysql,否则无法启动

    2.5 删除

    删除压缩文件

    rm -f /opt/mysql-8.0.28-el7-x86_64.tar.gz
    
    • 1

    2.6 创建目录

    /usr/local/mysql根目录下创建data文件夹

    mkdir /usr/local/mysql/data
    
    • 1

    2.7 环境变量

    编辑/etc/profile文件,内容如下:

    export PATH=/usr/local/mysql/bin:$PATH
    
    • 1

    重载/etc/profile文件

    source /etc/profile
    
    • 1

    查看PATH值

    echo $PATH
    
    • 1

    在这里插入图片描述

    2.8 修改配置

    查找mysql配置路径

    mysql --help | grep 'my.cnf'
    
    • 1

    在这里插入图片描述

    执行

    vi /etc/my.cnf
    
    • 1

    2.9 配置文件

    点击I键,复制并粘贴如下配置:

    [mysql]
    # 设置mysql客户端默认字符集
    default-character-set=utf8
    
    [mysqld]
    #设置端口
    port=3306
    socket=/tmp/mysql.sock
    #设置mysql根目录
    basedir=/usr/local/mysql
    #设置数据库的数据存放目录
    datadir=/usr/local/mysql/data
    #设置最大连接数
    max_connections=200
    #设置mysql服务端字符集,默认为latin1
    character-set-server=UTF8MB4
    #设置默认存储引擎
    default-storage-engine=INNODB
    #设置密码永不过期
    default_password_lifetime=0
    #设置 server接受的数据包大小
    max_allowed_packet=16M
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22

    在这里插入图片描述

    再按esc:wq(英文模式下)

    2.9 用户与用户组

    添加 mysql 组

    groupadd mysql
    
    • 1

    添加 mysql 用户

    useradd -r -g mysql mysql
    
    • 1

    变更用户和用户组

    chown -R mysql:mysql /usr/local/mysql
    
    • 1

    2.10 初始化

    mysqld --initialize --user=mysql
    
    • 1

    有的人可以会遇到这种错误

    在这里插入图片描述

    我们安装一下就可以了

    yum install -y libaio
    
    • 1

    再来尝试,可以看到成功了

    mysqld --initialize --user=mysql
    
    • 1

    在这里插入图片描述

    说明:yGnjv89P=:R8 为临时密码

    2.11 其它

    安装SSL

    mysql_ssl_rsa_setup --datadir=/usr/local/mysql/data
    
    • 1

    添加权限

    chmod -R a+r /usr/local/mysql/data/server-key.pem
    
    • 1

    开机启动

    复制启动脚本到资源目录

    cp /usr/local/mysql/support-files/mysql.server /etc/rc.d/init.d/mysqld
    
    • 1

    mysqld文件添加执行权限

    chmod +x /etc/rc.d/init.d/mysqld
    
    • 1

    mysqld服务添加至系统服务

    chkconfig --add mysqld
    
    • 1

    查询mysqld服务

    chkconfig --list mysqld
    
    • 1
    注:该输出结果只显示 SysV 服务,并不包含
    原生 systemd 服务。SysV 配置数据
    可能被原生 systemd 配置覆盖。 
          要列出 systemd 服务,请执行 'systemctl list-unit-files'。
          查看在具体 target 启用的服务请执行
          'systemctl list-dependencies [target]'。
    
    mysqld          0:关    1:关    2:开    3:开    4:开    5:开    6:关
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    启动 mysqld服务

    service mysqld start
    
    • 1

    开放端口
    添加端口

    firewall-cmd --zone=public --add-port=3306/tcp --permanent
    
    • 1

    重新加载

    firewall-cmd --reload
    
    • 1

    修改密码
    初次登录MySQL数据库需要重置密码才能继续后面的数据库操作,步骤如下:

    mysql -uroot -p
    
    • 1

    允许远程连接
    MySQL数据库默认不允许远程连接,可通过如下步骤允许远程连接:

    mysql -uroot -p
    
    • 1
    use mysql;
    
    • 1
    update user set host = '%' where user = 'root';
    
    • 1
    flush privileges;
    
    • 1
    quit
    
    • 1

    三、开启远程连接MySQL

    alter user 'root'@'%' identified with mysql_native_password by '123456';
    
    • 1
  • 相关阅读:
    SpringCloud 微服务全栈体系(十四)
    在复苏与重塑之路上,同程旅行为旅游业价值回归交出答卷
    Visual Studio2019配置Lua及sol2框架
    Java学习——Java数组总结
    观察者模式——解决解耦的钥匙
    eNsp使用技巧
    亚马逊关键词搜索API接口(item_search-按关键字搜索亚马逊商品接口),亚马逊API接口
    不使用内置函数的情况下,如何使用Python实现求平均值、最大值和最小值?
    YOLOv9独家改进|动态蛇形卷积Dynamic Snake Convolution与RepNCSPELAN4融合
    Unity 使用宏
  • 原文地址:https://blog.csdn.net/2201_76004325/article/details/134308694