• 【MySQL】MySQL的安装,登录,配置和相关命令


    前言

    本篇文章是基于云服务器;Linux:Centos7.6版本的MySQL安装

    一. 卸载不需要的环境

    一些云服务器可能会配备MySQL,或者mariadb(MySQL的一个开源分支)
    原先配置的MySQL和mariadb会对后续的安装造成影响,所以建议先进行删除。


    1.关闭网络服务器

    数据库其实是一种服务器,我们先查看是否存在该网络服务器

    ps axj | grep mysql 查看是否有MySQL运行
    ps axj | grep mariadb 查看是否有mariadb运行

    在这里插入图片描述
    如图是没有的情况,显示出来的是grep这个进程

    如果存在mysqld或者mariadb.servicez这个进程,就将其关闭

    在这里插入图片描述

    systemctl stop mysqld 关闭mysqld
    systemctl stop mariadb.service 关闭mariadb

    2. 删除安装包

    rpm -qa 显示所有的安装包
    rpm -qa | grep mysql 在所有安装包中过滤出mysql的安装包
    rpm -qa | grep mariadb 在所有安装包中过滤出miaradb的安装包
    在这里插入图片描述

    rpm -qa | grep mysql | xargs yum -y remove 将mysql的安装包都删除
    rpm -qa | grep mariadb | xargs yum -y remove 将mariadb的安装包都删除
    xargs可以将前两个命令获取的安装包拼到 remove 后,在删除过程中,会有询问选项,-y可以取消这一询问

    ls /etc/my.cnf 没有该配置文件,表示删除干净,有,则删除即可
    ls /var/lib/mysql/ 原先mysql的数据都存放在这个路径下,可删可不删

    二. 获取MySQL的yum源

    我们选择下载的yum源,最好是和自己的操作系统所匹配的

    cat /etc/redhat-release 查看操作系统的版本
    在这里插入图片描述

    接下来就是选择适合的版本

    获取官方MySQL的yum源
    在这里插入图片描述

    因为网页的问题,版本号无法展示完整,我们可以右键,选择“查看页面源代码”

    在这里插入图片描述

    MySQL的版本建议选择mysql57

    在这里插入图片描述

    el表示是Centos,7-10是Centos的版本,表示7.10
    因为博主是Centos7.6,没有直接匹配的,但是el7.rpm中包含了Centos7的所有版本,在后续安装,yum会自动帮我们匹配最适配的版本


    下载后将.rpm文件放在桌面或者其他能找到的地方

    打开Linux,切换到root用户,可以创建一个MySQL的目录(方便日后的管理),进入该目录
    将刚刚下载在Windows的.rpm文件拿到Linux中

    rz 将Windows的文件下载到Linux中

    在这里插入图片描述

    在这里插入图片描述

    这个.rpm文件里面就是yum源

    ls /etc/yum.repos.d/ -l 查看yum源
    在这里插入图片描述

    rpm -ivh 解压并拷贝
    在这里插入图片描述
    可以看到,多了两个yum源


    其中,在mysql-community.repo中,是各个版本的MySQL
    在这里插入图片描述
    yum会帮我们自动选择最适配的MySQL版本

    三. 安装MySQL和启动

    yum源更新好后,就可以开始安装了、(注意切换到root用户)

    yum install -y mysql-community-server 安装

    如果安装过程中出现如下报错

    Failing package is: mysql-community-client-5.7.39-1.el7.x86_64
    GPG Keys are configured as: file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
    在这里插入图片描述

    该报错表示GPG的秘钥过期
    使用如下命令更新秘钥,然后重新安装

    rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022


    安装成功后,检查三样东西

    ls /etc/my.cnf 配置文件my.cnf是否存在
    which mysqld
    which mysql
    在这里插入图片描述

    mysqld是服务端,mysql是客户端,所以mysqld是在sbin(超级用户root)目录下的

    启动mysql网络服务器

    systemctl start mysqld
    在这里插入图片描述

    四. 尝试登录MySQL

    登录MySQL:mysql -h 127.0.0.1 -P 3306 -u root -p
    -h 127.0.0.1 -h登录的部署了MySQL的主机的IP
    -P 3306 -P端口号
    -u root -u 登录的用户
    -p 输入密码

    省略-h表示登录本地的MySQL
    省略-P表示使用默认的端口号

    简化后登录MySQL的命令:mysql -uroot -p
    在这里插入图片描述
    但是此时会要求我们输入密码。
    有三种解决方法

    方法1:获取临时root密码

    grep 'temporary password' /var/log/mysqld.log
    在这里插入图片描述

    此方式不一定可以,因为较新版本的MySQL可能没有临时密码

    方法2:没有密码

    可能安装的MySQL没有临时密码,root默认没有密码,试着直接登录(密码直接按回车)

    方法3:配置文件

    /etc/my.cnf是MySQL的配置文件,我们需要在其最后添加一个选项

    vim /etc/my.cnf
    在[mysql]最后添加:skip-grant-tables 保存并退出
    在这里插入图片描述

    添加选项后,我们需要重启mysqld,配置文件才会生效。

    systemctl restart mysqld
    等同于 先systemctl stop mysqld systemctl start mysqld

    重启时可能会遇到如下报错,重启失败

    Job for mysqld.service failed because the control process exited with error code. See “systemctl status mysqld.service” and “journalctl -xe” for details.

    解决方法参见该博客
    mysql启动失败,报错:Job for mysqld.service failed

    五. 简单配置

    同样是配置在/etc/my.cnf文件中

    port=3306 更改端口号(可选)
    character-set-server=utf8 更改编码方式
    default-storage-engine=innodb 使用innodb这个存储引擎
    在这里插入图片描述

    设置开机自启动(Linux)
    systemctl enable mysqld
    systemctl daemon-reload

    结束语

    感谢你的阅读

    如果觉得本篇文章对你有所帮助的话,不妨点个赞支持一下博主,拜托啦,这对我真的很重要。
    在这里插入图片描述

  • 相关阅读:
    ElasticSearch之Quick.ElasticSearch.Furion组件的使用
    第二章 Java基础语法
    设计模式(五):建造者模式
    面向对象的原型:prototype,原型链
    【无标题】
    spring入门
    MVVM框架下两窗口的消息传递
    1140:验证子串
    3-D HANet:一种用于目标检测的柔性三维 HeatMap 辅助网络
    ubuntu16.04修改静态ip
  • 原文地址:https://blog.csdn.net/m0_72563041/article/details/132735411