Linux环境下的MySQL的卸载、安装与使用[以CentOS7为例说明]

2024-08-30 06:12

本文主要是介绍Linux环境下的MySQL的卸载、安装与使用[以CentOS7为例说明],希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Linux环境下的MySQL的卸载、安装与使用[以CentOS7为例说明]

  • 1、下载MySQL安装包
  • 2、卸载MySQL
    • (1)检查是否安装过MySQL和mariadb
    • (2)卸载MySQL和mariadb
    • (3)问题记录(了解)
  • 3、安装MySQL
    • (1)安装前在CentOS7下检查MySQL依赖
      • (1.1)检查`/tmp`临时目录权限(必不可少)
      • (1.2)检查依赖 libaio 和 net-tools
    • (2)严格按照如下顺序安装
    • (3)查看MySQL版本
    • (4)服务初始化
    • (5)查看/启动服务
    • (6)设置MySQL自启动
    • (7)登录MySQL更改密码
  • 4、使用远程工具连接CentOS下的MySQL
    • (1)远程工具:`Navicat`连接测试
    • (2)问题排查
      • (2.1)ping 命令检测网络是否通畅
      • (2.2)telnet 测试IP端口的连接
      • (2.3)关闭Windows和Linux下的防火墙
      • (2.4) 继续点击连接测试
    • (3)MySQL中user表下的 root 用户host值修改
    • (4)(必须)刷新权限
    • (5)解决MySQL8.0加密算法导致连接失败问题
    • (6)连接测试成功

1、下载MySQL安装包

mysql官网中文版

在这里插入图片描述

在这里插入图片描述


在这里插入图片描述


在这里插入图片描述


在这里插入图片描述


在这里插入图片描述
在这里插入图片描述


在这里插入图片描述
在这里插入图片描述

2、卸载MySQL

(1)检查是否安装过MySQL和mariadb

查看当前MySQL的安装情况-i :忽略大小写)

方式1: rpm -qa | grep -i mysql
方式2: yum list installed | grep mysql

查看当前mariadb的安装情况

yum list installed | grep mariadb

在这里插入图片描述


注意:mariadb是安装centos7时,默认安装的,如果要安装MySQL需要把这个mariadb卸载掉,否则会起冲突,导致MySQL安装失败!!!可以查看下面的问题记录了解相关情况

(2)卸载MySQL和mariadb

如果有安装过MySQL,卸载前关闭掉

查看MySQL服务状态

systemctl status mysqld

关闭MySQL服务

systemctl stop mysqld

卸载MySQL服务
根据步骤(1)中查询出的MySQL相关程序;卸载后执行rpm -qa | grep -i mysql命令来查看是否还有MySQL相关的安装程序遗漏掉,确保卸载干净;注意:安装的MySQL的程序可能存在先后顺序,卸载时注意程序之间的依赖关系

yum remove mysql服务名称

删除MySQL相关文件

1、查找文件

find / -name mysql

2、删除文件

rm -rf 文件名称

删除my.cnf相关文件

rm -rf /etc/my.cnf

卸载mariadb

yum -y remove mariadb服务名称

(3)问题记录(了解)

1. yum list installed | grep mariadbrpm -qa |grep -i mysql 有什么区别?

在这里插入图片描述
在这里插入图片描述

2. mariadb 是什么?

在这里插入图片描述
在这里插入图片描述

3. 为什么我安装好centos7后,并没有安装MySQL相关的内容,但是执行命令 yum list installed | grep mariadb 后,发现有mariadb ?

在这里插入图片描述

在这里插入图片描述

4. 如果在centos环境中安装MySQL,在安装前要把系统自带的MariaDB卸载掉吗?如果不卸载,mariadbmsyql会不会有冲突啊?

在这里插入图片描述

5. 为什么我在centos环境下执行查看MySQL版本的命令,提示无此命令?

在这里插入图片描述
在这里插入图片描述在这里插入图片描述
在这里插入图片描述

3、安装MySQL

(1)安装前在CentOS7下检查MySQL依赖

(1.1)检查/tmp临时目录权限(必不可少)

安装MySQL过程中,系统会通过MySQL用户在/tmp目录下新建tmp_db文件,所以给/tmp较大的权限,执行如下命令(赋予 执行 的权限):

chmod -R 777 /tmp

在这里插入图片描述


在这里插入图片描述

(1.2)检查依赖 libaio 和 net-tools

rpm -qa | grep libaio
rpm -qa | grep net-tools

在这里插入图片描述

(2)严格按照如下顺序安装

rpm -ivh 名称

在这里插入图片描述
在这里插入图片描述

(3)查看MySQL版本

版本:mysql --versionmysqladmin --version

已安装程序:rpm -qa | grep -i mysql

在这里插入图片描述

(4)服务初始化

为保证数据库目录与文件的所有者为mysql登录用户,如果你是以root身份运行mysql服务,需要执行下述命令初始化

mysqld --initialize --user=mysql

--initialize:表示以安全模式初始化,会为root用户生成一个密码并标记为过期,登录后需要重新设置一个新的密码,生成的临时密码会在 /var/log/mysqld.log 日志文件 中保留一份
在这里插入图片描述
查看密码命令

cat /var/log/mysqld.log

在这里插入图片描述

(5)查看/启动服务

查看/启动/重启/停止MySQL服务: systemctl status/start/restart/stop/ mysql

在这里插入图片描述

(6)设置MySQL自启动

每次启动虚拟机,再启动MySQL会比较麻烦,可以将MySQL设置为自启动,

查看命令:

systemctl list-unit-files | grep mysqld

  • enabled:自启动;disenabled:禁止自启动


在这里插入图片描述

设置自启动/非自启动命令:

systemctl enable/disable mysqld

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

(7)登录MySQL更改密码

使用上述日志文件中的初始密码登录MySQL,然后更改密码

注意:MySQL5.7(不含)之后设置密码太简单会报错,这是因为MySQL使用了全新的密码安全机制

修改密码命令:

alter user 'root'@'localhost' identified by '新密码';



在这里插入图片描述
在这里插入图片描述

4、使用远程工具连接CentOS下的MySQL

(1)远程工具:Navicat连接测试

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

(2)问题排查

(2.1)ping 命令检测网络是否通畅

(2.2)telnet 测试IP端口的连接

注意:使用telnet命令前,必须保证Windows功能下的Telnet客户端处于勾选状态
在这里插入图片描述
在这里插入图片描述

(2.3)关闭Windows和Linux下的防火墙

Windows

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Linux
在这里插入图片描述

每次CentOS启动时,为防止防火墙自启动,可以将防火墙设置为禁止自启动
在这里插入图片描述

(2.4) 继续点击连接测试

在这里插入图片描述

(3)MySQL中user表下的 root 用户host值修改

登录MySQL查看原因:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

修改命令:

update user set host = '192.168.169.%' where user = 'root';

  • 表示只要IP是192.168.169开头的地址都可以远程连接MySQL,根据自己IP设置即可,不影响使用的情况下,颗粒度越小越好
    在这里插入图片描述

(4)(必须)刷新权限

修改完root用户对应的主机值时,一定要刷新权限,修改的值才会生效

刷新命令:

flush privileges;

在这里插入图片描述

(5)解决MySQL8.0加密算法导致连接失败问题

在这里插入图片描述
解决办法:Linux下登录MySQL数据库,执行如下命令

alter user 'root'@'192.168.169.%' identified with mysql_native_password by 'mysql数据库登录密码';

  • 表示只要IP192.168.169开头的地址下的客户端都可以远程连接MySQL,根据自己IP设置即可,不影响使用的情况下,颗粒度越小越好

在这里插入图片描述

(6)连接测试成功

在这里插入图片描述
在这里插入图片描述

这篇关于Linux环境下的MySQL的卸载、安装与使用[以CentOS7为例说明]的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1120008

相关文章

Spring IoC 容器的使用详解(最新整理)

《SpringIoC容器的使用详解(最新整理)》文章介绍了Spring框架中的应用分层思想与IoC容器原理,通过分层解耦业务逻辑、数据访问等模块,IoC容器利用@Component注解管理Bean... 目录1. 应用分层2. IoC 的介绍3. IoC 容器的使用3.1. bean 的存储3.2. 方法注

MySQL 删除数据详解(最新整理)

《MySQL删除数据详解(最新整理)》:本文主要介绍MySQL删除数据的相关知识,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录一、前言二、mysql 中的三种删除方式1.DELETE语句✅ 基本语法: 示例:2.TRUNCATE语句✅ 基本语

MySQL中查找重复值的实现

《MySQL中查找重复值的实现》查找重复值是一项常见需求,比如在数据清理、数据分析、数据质量检查等场景下,我们常常需要找出表中某列或多列的重复值,具有一定的参考价值,感兴趣的可以了解一下... 目录技术背景实现步骤方法一:使用GROUP BY和HAVING子句方法二:仅返回重复值方法三:返回完整记录方法四:

Python内置函数之classmethod函数使用详解

《Python内置函数之classmethod函数使用详解》:本文主要介绍Python内置函数之classmethod函数使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地... 目录1. 类方法定义与基本语法2. 类方法 vs 实例方法 vs 静态方法3. 核心特性与用法(1编程客

从入门到精通MySQL联合查询

《从入门到精通MySQL联合查询》:本文主要介绍从入门到精通MySQL联合查询,本文通过实例代码给大家介绍的非常详细,需要的朋友可以参考下... 目录摘要1. 多表联合查询时mysql内部原理2. 内连接3. 外连接4. 自连接5. 子查询6. 合并查询7. 插入查询结果摘要前面我们学习了数据库设计时要满

Linux中压缩、网络传输与系统监控工具的使用完整指南

《Linux中压缩、网络传输与系统监控工具的使用完整指南》在Linux系统管理中,压缩与传输工具是数据备份和远程协作的桥梁,而系统监控工具则是保障服务器稳定运行的眼睛,下面小编就来和大家详细介绍一下它... 目录引言一、压缩与解压:数据存储与传输的优化核心1. zip/unzip:通用压缩格式的便捷操作2.

java中新生代和老生代的关系说明

《java中新生代和老生代的关系说明》:本文主要介绍java中新生代和老生代的关系说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、内存区域划分新生代老年代二、对象生命周期与晋升流程三、新生代与老年代的协作机制1. 跨代引用处理2. 动态年龄判定3. 空间分

MySQL查询JSON数组字段包含特定字符串的方法

《MySQL查询JSON数组字段包含特定字符串的方法》在MySQL数据库中,当某个字段存储的是JSON数组,需要查询数组中包含特定字符串的记录时传统的LIKE语句无法直接使用,下面小编就为大家介绍两种... 目录问题背景解决方案对比1. 精确匹配方案(推荐)2. 模糊匹配方案参数化查询示例使用场景建议性能优

使用Python实现可恢复式多线程下载器

《使用Python实现可恢复式多线程下载器》在数字时代,大文件下载已成为日常操作,本文将手把手教你用Python打造专业级下载器,实现断点续传,多线程加速,速度限制等功能,感兴趣的小伙伴可以了解下... 目录一、智能续传:从崩溃边缘抢救进度二、多线程加速:榨干网络带宽三、速度控制:做网络的好邻居四、终端交互

Python中注释使用方法举例详解

《Python中注释使用方法举例详解》在Python编程语言中注释是必不可少的一部分,它有助于提高代码的可读性和维护性,:本文主要介绍Python中注释使用方法的相关资料,需要的朋友可以参考下... 目录一、前言二、什么是注释?示例:三、单行注释语法:以 China编程# 开头,后面的内容为注释内容示例:示例:四