Linux中安装Mysql8(超完整 含远程连接+错误分析)

    技术2025-12-26  12

    1. Linux版mysql8.0.18下载地址

    链接:https://pan.baidu.com/s/19eezB3MAKbHKT1pOCc4I9w 提取码:74cr

    2. 卸载系统自带的mariadb-lib

    查看mariadb版本

    rpm -qa | grep mariadb

    卸载mariadb

    rpm -e mariadb-libs-5.5.56-2.el7.x86_64 --nodeps

    重启机器

    reboot

    3. 上传安装包并解压

    将mysql-8.0.18-1.el8.x86_64.rpm-bundle.tar安装包上传到/opt/software目录解压mysql安装包到/opt/server目录tar -xvf mysql-8.0.13-1.el7.x86_64.rpm-bundle.tar -C /opt/server

    4. 按顺序安装

    必须安装(注意顺序)

    rpm -ivh mysql-community-common-8.0.13-1.el7.x86_64.rpm

    rpm -ivh mysql-community-libs-8.0.13-1.el7.x86_64.rpm

    rpm -ivh mysql-community-client-8.0.13-1.el7.x86_64.rpm

    rpm -ivh mysql-community-server-8.0.13-1.el7.x86_64.rpm

    非必要安装(注意顺序)

    rpm -ivh mysql-community-libs-compat-8.0.13-1.el7.x86_64.rpm

    rpm -ivh mysql-community-embedded-compat-8.0.13-1.el7.x86_64.rpm

    rpm -ivh mysql-community-devel-8.0.13-1.el7.x86_64.rpm

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


    如果报以下错误
    错误1
    解决办法

    yum install numactl


    错误2
    解决办法
    yum install openssl-devel.x86_64 openssl.x86_64 -y


    错误3
    解决办法
    yum -y install autoconf


    错误4

    解决办法
    yum install perl.x86_64 perl-devel.x86_64 -yyum install perl-JSON.noarch -y

    5. 初始化数据库

    mysqld --initialize --console

    6. 目录授权,否则启动失败

    chown -R mysql:mysql /var/lib/mysql/

    7. 启动mysql服务

    systemctl start mysqld将mysql服务设置为开机启动systemctl enable mysqldsystemctl daemon-reload

    8. 查看msyql服务的状态

    service mysqld status

    9. 在/var/log/mysqld.log下查看临时密码

    cat /var/log/mysqld.log

    10. 用临时密码登录到数据库

    mysql -u root -p输入临时密码(输入时不会显示出来,输入完直接回车)

    11. 执行下面mysql命令   修改密码

    alter USER 'root'@'localhost'IDENTIFIED BY '新密码';

    12. 依次执行下列mysql命令 授权远程连接

    查看所有用户是否可以远程连接,依次执行下列命令:

    show databases;

    use mysql;

    select host, user, authentication_string, plugin from user;

    -

    host为localhsot,说明用户只能本地连接msyql服务

    修改root用户host值,使root用户可以远程登录

    update user set host = "%" where user='root';

    刷新

    flush privileges;

    开启mysql远程访问权限

    use mysql;

    alter USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root用户的密码';

    flush privileges; ·

    Processed: 0.033, SQL: 9