【MySQL 保姆级教学】在Linux(CentoS 7)中安装MySQL(1)

目录

  • [1. 卸载linux(Centos7) 中不要的环境](#1. 卸载linux(Centos7) 中不要的环境)
  • [2. 获取MySQL官方yum源](#2. 获取MySQL官方yum源)
    • [2.1 获取yum源前先查看自己 linux(Centos)的版本](#2.1 获取yum源前先查看自己 linux(Centos)的版本)
    • [2.2 获取官方yum源](#2.2 获取官方yum源)
  • [3. 安装xftp和连接](#3. 安装xftp和连接)
  • [4. 开放连接端口](#4. 开放连接端口)
  • [5. 上传文件到Centos7](#5. 上传文件到Centos7)
  • [6. 安装MySQL](#6. 安装MySQL)
    • [6.1 顺利安装](#6.1 顺利安装)
    • [6.2 查询是否安装成功](#6.2 查询是否安装成功)
    • [6.3 安装时遇到的问题解决办法](#6.3 安装时遇到的问题解决办法)
  • [7. 登录 MySQL](#7. 登录 MySQL)
  • [8. 配置 MySQL](#8. 配置 MySQL)

1. 卸载linux(Centos7) 中不要的环境

  1. 先检查是否有mariadb存在

    命令:ps ajx |grep mariadb

    ps 是一个用于显示当前进程状态的命令。ajx 是 ps 命令的选项组合,每个选项的具体含义如下:

    a:显示所有用户的进程,不仅限于当前终端的进程。

    j:使用作业控制格式输出,这种格式包括更多的进程信息。

    x:显示没有控制终端的进程

    这个命令的作用是先使用 ps ajx 显示系统中所有用户的进程,然后通过管道符 | 将输出传递给 grep 命 令,grep 命令会从这些输出中筛选出包含 mariadb 字符串的行。

  2. 若果有,先停止进程

    systemctl stop mariadb.service

  3. 检查系统安装包

    rpm -qa | grep mariadb

    rpm -qa | grep mysql

  4. 卸载这些默认的安装包

2. 获取MySQL官方yum源

2.1 获取yum源前先查看自己 linux(Centos)的版本

命令:cat /etc/redhat-release

我的版本是7.9,所以需要找MrSQL5.7版本中的7.9版本。

2.2 获取官方yum源

官方yum源地址,点击即可进入。

进入后发现无法查看全部的信息,鼠标右击,再点击页面源代码。

经过以上操作进入到如下页面,并查找自己需要的版本

3. 安装xftp和连接

  1. 点击进入Xftp的官方
  2. 点解所有下载,选择学校免费。
  3. 往下滑即可看到Xftp,点击下载即可。
  4. 连接Centos7的主机。
  5. 如果连接失败,需要开放开放一下20/tcp和21/tcp两个端口。(目录4有教程)

4. 开放连接端口

注:切换超级用户

命令:su

  1. 安装firewalld

    命令:sudo yum install firewalld

  2. 启动firewalld,并设置开机自启。

    启动firewalld:sudo systemctl start firewalld

    开机自启:sudo systemctl enable firewalld

  3. 添加 20/TCP 和 21/TCP 端口

    命令:
    sudo firewall-cmd --zone=public --add-port=20/tcp --permanent

    sudo firewall-cmd --zone=public --add-port=21/tcp --permanent

  4. 再次用Xftp连接即可。

5. 上传文件到Centos7

  1. 我把下载好的文件移动到桌面,用Xftp连接成功,直接把文件拉进Xftp中。
  2. 在终端进入myyum文件中,可看到刚才被拉进的文件。

6. 安装MySQL

6.1 顺利安装

切换超级用户, 命令: su

先普及一个知识,其实我们在 Linux 通过yum下载的安装包类型就是刚才我们下载的安装包类型。

那我们怎么安装MySQL呢?用yum吗?no,yum的工作其实就是我们刚才下载安装包的任务。我们用rpm安装。

我们先查看系统支持的yum源(每个人不一定相同)。

命令:ls /etc/yum.repos.d

可以清楚的看到,我的 Linux里面没有 MySQL 的 yum源

如果没有MySQL的yum源,需要进行安装

  1. 安装yum源:

    命令:rpm -ivh mysql57(59)-community-release-el7.rpm

    需要进入到 MySQL 安装包的目录中进行安装yum源

  2. 查看安装后的yum源列表:ls /etc/yum.repos.d -l (有兴趣的朋友可以查看)

  3. 查看mysql的yum源:vim /etc/yum.reops.d/mysql-community.repo (有兴趣的朋友可以查看)

  4. 安装MySQL

    命令:yum install -y mysql-community-server

    yum可按照yum源的配置,自动安装对应的mysql

6.2 查询是否安装成功

命令: ls /etc/my.cnf #要存在my.cnf文件

命令:which mysqld #查看mysql服务端应用程序

命令:which mysql #查看mysql'的客户端

如图:

都查询到后,可以运行mysql了

命令:systemctl start mysql

6.3 安装时遇到的问题解决办法

安装遇到秘钥过期的问题:

显示: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

解决⽅案:

输入命令:rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022

然后在安装MySQL

有标记,上图安装成功了

7. 登录 MySQL

命令:mysql -u root -p

登录失败解决方法:打开mysql配置文件

命令:vim /etc/my.cnf

步骤:

进入后,先点击电脑按键" insert",进行修改,

在[mysqld]最后⼀栏配置(不知道是什么,就放在配置⽂件最后) 加⼊: skip-grant-tables

添加完后再点击电脑的按键 "Esc",然后,再点击电脑的按键 "Shift"和":" 同时按,再接着按 "w",再按"q",最后按"Enter"。

再次登录:mysql -uroot -p

解释:登录的时候不需要输入密码,点击回车键

8. 配置 MySQL

进入到MySQL的配置文件

命令:vim /etc/my.cnf

加端口号,默认是3306

配置编码格式

命令:
character-set-server=utf8
collation-server=utf8_general_ci(建议也添加上)

配置存储引擎

命令:
default-storage-engine=innodb

注:我配置存储引擎的时候少写了一个d,同学们不要模仿我。

如果配置上述的编码格式后,插入不了中文,可以试一试下列的编码格式:
character-set-server=utf8mb4
collation-server=utf8mb4_general_ci

提示:

MySQL 已经配置了客⼾端服务器utf8编码,但还是⽆法输入中文确保您在终端命令⾏中可以输⼊中⽂,查看以下终端是否可以输入中文

命令: env |grep LANG

如果打印出: LANG=en_US.utf8 则说明终端可以输入中文。

设置开机启动:
systemctl enable mysqld
systemctl daemon-reload

设置完毕,重启MySQL即可

命令:
systemctl restart mysqld

相关推荐
嵩山小老虎1 小时前
Windows 10/11 安装 WSL2 并配置 VSCode 开发环境(C 语言 / Linux API 适用)
linux·windows·vscode
Fleshy数模1 小时前
CentOS7 安装配置 MySQL5.7 完整教程(本地虚拟机学习版)
linux·mysql·centos
a41324471 小时前
ubuntu 25 安装vllm
linux·服务器·ubuntu·vllm
az44yao2 小时前
mysql 创建事件 每天17点执行一个存储过程
mysql
一只自律的鸡3 小时前
【Linux驱动】bug处理 ens33找不到IP
linux·运维·bug
17(无规则自律)3 小时前
【CSAPP 读书笔记】第二章:信息的表示和处理
linux·嵌入式硬件·考研·高考
!chen3 小时前
linux服务器静默安装Oracle26ai
linux·运维·服务器
秦老师Q3 小时前
php入门教程(超详细,一篇就够了!!!)
开发语言·mysql·php·db
REDcker4 小时前
Linux 文件描述符与 Socket 选项操作详解
linux·运维·网络
蒹葭玉树4 小时前
【C++上岸】C++常见面试题目--操作系统篇(第二十八期)
linux·c++·面试