【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

相关推荐
雨中rain33 分钟前
Linux -- 从抢票逻辑理解线程互斥
linux·运维·c++
Bessssss1 小时前
centos日志管理,xiao整理
linux·运维·centos
s_yellowfish1 小时前
Linux服务器pm2 运行chatgpt-on-wechat,搭建微信群ai机器人
linux·服务器·chatgpt
豆是浪个1 小时前
Linux(Centos 7.6)yum源配置
linux·运维·centos
vvw&1 小时前
如何在 Ubuntu 22.04 上安装 Ansible 教程
linux·运维·服务器·ubuntu·开源·ansible·devops
我一定会有钱1 小时前
【linux】NFS实验
linux·服务器
Ven%1 小时前
如何在防火墙上指定ip访问服务器上任何端口呢
linux·服务器·网络·深度学习·tcp/ip
是阿建吖!1 小时前
【Linux】基础IO(磁盘文件)
linux·服务器·数据库
张暮笛1 小时前
蓝牙协议——音量控制
linux
陈君豪1 小时前
OpenCV的FAST和goodFeaturesToTrack的區別
linux