• Linux下载安装mysql5.7版本教程最全详解


    linux下安装mysql 5.7.31

    下载mysql文件

    下载mysql文件5.7.31包,我已经上传到文件中。也可以点击下载 如下图所示:
    msyql5.7.31

    删除Linux下默认安装的MariaDB

    # 查找mariadb安装包名字
    rpm -qa | grep -i mariadb
    # 卸载mariadb安装包,mariadb-libs-5.5.52-1.x86 是上一条命令查出的结果
    rpm -e --nodeps mariadb-libs-5.5.52-1.x86
    
    • 1
    • 2
    • 3
    • 4

    在这里插入图片描述

    上传文件并解压

    创建要上传的目录,这里我的目录为

    cd /opt/myinstall
    mkdir mysql
    
    • 1
    • 2

    将mysql安装包上传至目录下,然后解压

    tar -xvf mysql-5.7.31-1.el7.x86_64.tar
    
    • 1

    在这里插入图片描述

    安装

    rpm -ivh mysql-community-common-5.7.31-1.el7.x86_64.rpm
    rpm -ivh mysql-community-libs-5.7.31-1.el7.x86_64.rpm
    rpm -ivh mysql-community-client-5.7.31-1.el7.x86_64.rpm
    rpm -ivh mysql-community-server-5.7.31-1.el7.x86_64.rpm
    
    • 1
    • 2
    • 3
    • 4

    安装报错

    如果安装最后一步server的时候,报错,说明缺少依赖包libaio
    在这里插入图片描述可以点击下载 然后下载依赖包
    在这里插入图片描述然后把下载的包上传到linux后执行

    rpm -ivh libaio-0.3.112-1.el8.x86_64.rpm
    
    • 1

    然后在重新执行就不会报错了

    rpm -ivh mysql-community-server-5.7.31-1.el7.x86_64.rpm
    
    • 1

    至此,mysql数据库就安装完成了

    启动mysqld服务

    执行以下命令

    # 启动服务  命令后有空格会报错
    systemctl start mysqld
    # 查看服务状态
    systemctl status mysqld
    
    • 1
    • 2
    • 3
    • 4

    在这里插入图片描述其它命令

    # 停止服务
    systemctl stop mysqld
    # 重启服务
    systemctl restart mysqld
    
    • 1
    • 2
    • 3
    • 4

    修改mysql的登录密码

    设置跳过登录密码

    vi /etc/my.cnf
    
    • 1

    在最后一行添加代码

    # 跳过密码登录
    skip-grant-tables
    
    • 1
    • 2

    在这里插入图片描述

    保存后,然后重启服务

    systemctl restart mysqld
    
    • 1

    登录mysql,刚才已经设置了跳过密码登录,所以我们只要输入登录命令,回车两次就可以了

    mysql -u root -p
    
    • 1

    在这里插入图片描述查看root用户的密码命令
    在这里插入图片描述在这里插入图片描述修改密码为:123456
    在这里插入图片描述
    如果执行修改密码的sql报错

    修改validate_password_policy参数的值, 修改允许的密码长度

    mysql> set global validate_password_policy=0;
    mysql> set global validate_password_length=1;
    
    • 1
    • 2

    然后重启服务
    输入quit退出mysql交互界面
    此时把刚才配置的跳过密码配置代码去掉或者注释掉就可以了。
    在这里插入图片描述

    然后再次重启mysqld服务

    systemctl restart mysqld
    
    • 1

    然后输入命令

    mysql -u root -p
    
    • 1

    输入刚才设置的密码:123456,出现mysql交互则说明刚才设置成功。

    设置编码格式

    修改配置文件

    vi /etc/my.cnf
    
    
    # 在[mysqld]下添加
    collation_server=utf8_general_ci
    character_set_server=utf8
    default-storage-engine=INNODB
    # 在[client]下添加(如果没有[client],则创建[client])
    [client]
    default_character-set=utf8
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    在这里插入图片描述保存,然后重启mysql服务

    systemctl restart mysqld
    
    • 1

    登录mysql

    mysql -u root -p 123456
    
    • 1

    查看mysql编码

    show variables like 'character_set_%';  
    
    • 1

    在这里插入图片描述
    此时可以查看修改mysql编码已经为UTF-8了

    开启远程连接

    登录mysql

    mysql -u root -p 123456
    
    • 1

    执行以下命令

    mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456';
    # 立即生效
    mysql> FLUSH PRIVILEGES;
    
    • 1
    • 2
    • 3

    在这里插入图片描述刚才命令解释

    123456是登录密码
    *.* 表示所有数据库下的所有表
    'root'@'%' 表示所有主机的root
    
    • 1
    • 2
    • 3

    如果设置报错
    在这里插入图片描述
    出现这个原因是因为密码设置太过于简单,mysql有密码强度校验(密码设置时必须包含大小写字母,特殊符号,数字,并且长度大于8位)
    解决办法:必须修改两个全局配置参数(临时更改,如果重新进入,需要重新修改)

    mysql> set global validate_password_policy=0;
    mysql> set global validate_password_length=1;
    
    • 1
    • 2

    然后重新执行命令
    在这里插入图片描述修改配置文件

    vi /etc/my.cnf
    
    • 1

    bind-address如果是127.0.0.1,mysql只接受localhost,不接受远程连接。在bind-address后面增加远程访问IP地址或者禁掉这句话就可以让远程机登陆访问了。
    如果地址是 0.0.0.0, 服务接受所有IPV4的接口;
    如果地址是 ::, t服务接受所有IPV4和 IPv6 的接口;

    修改端口

    登录mysql

    mysql -u root -p 123456
    
    • 1

    查看端口

    show global variables like ‘port’;
    
    • 1

    在这里插入图片描述
    可以看出现在的端口是3306
    修改配置文件

    vi /etc/my.cnf
    
    • 1

    在这里插入图片描述
    然后保存退出
    重启mysql

    systemctl restart mysqld
    
    • 1

    此时就修改端口完成

  • 相关阅读:
    文心一言 VS 讯飞星火 VS chatgpt (103)-- 算法导论10.1 1题
    【Golang】grpc环境踩的坑
    提升效率必备:电脑文件批量重命名的实用技巧大放送
    海外多家权威媒体热议波场TRON:为互联网去中心化奠定基础
    常见排序算法
    【Node.js操作SQLite指南】
    【切片】基础不扎实引发的问题
    【黑马程序员】SpringCloud——微服务
    AIGC+思维导图:提升你的学习与工作效率的「神器」
    电影影院购票管理系统
  • 原文地址:https://blog.csdn.net/m0_67391521/article/details/126034623