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

相关文章

在Android中使用WebView在线查看PDF文件的方法示例

《在Android中使用WebView在线查看PDF文件的方法示例》在Android应用开发中,有时我们需要在客户端展示PDF文件,以便用户可以阅读或交互,:本文主要介绍在Android中使用We... 目录简介:1. WebView组件介绍2. 在androidManifest.XML中添加Interne

Java Stream流与使用操作指南

《JavaStream流与使用操作指南》Stream不是数据结构,而是一种高级的数据处理工具,允许你以声明式的方式处理数据集合,类似于SQL语句操作数据库,本文给大家介绍JavaStream流与使用... 目录一、什么是stream流二、创建stream流1.单列集合创建stream流2.双列集合创建str

Python使用FastAPI实现大文件分片上传与断点续传功能

《Python使用FastAPI实现大文件分片上传与断点续传功能》大文件直传常遇到超时、网络抖动失败、失败后只能重传的问题,分片上传+断点续传可以把大文件拆成若干小块逐个上传,并在中断后从已完成分片继... 目录一、接口设计二、服务端实现(FastAPI)2.1 运行环境2.2 目录结构建议2.3 serv

通过Docker容器部署Python环境的全流程

《通过Docker容器部署Python环境的全流程》在现代化开发流程中,Docker因其轻量化、环境隔离和跨平台一致性的特性,已成为部署Python应用的标准工具,本文将详细演示如何通过Docker容... 目录引言一、docker与python的协同优势二、核心步骤详解三、进阶配置技巧四、生产环境最佳实践

Spring Security简介、使用与最佳实践

《SpringSecurity简介、使用与最佳实践》SpringSecurity是一个能够为基于Spring的企业应用系统提供声明式的安全访问控制解决方案的安全框架,本文给大家介绍SpringSec... 目录一、如何理解 Spring Security?—— 核心思想二、如何在 Java 项目中使用?——

springboot中使用okhttp3的小结

《springboot中使用okhttp3的小结》OkHttp3是一个JavaHTTP客户端,可以处理各种请求类型,比如GET、POST、PUT等,并且支持高效的HTTP连接池、请求和响应缓存、以及异... 在 Spring Boot 项目中使用 OkHttp3 进行 HTTP 请求是一个高效且流行的方式。

MySQL的JDBC编程详解

《MySQL的JDBC编程详解》:本文主要介绍MySQL的JDBC编程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录前言一、前置知识1. 引入依赖2. 认识 url二、JDBC 操作流程1. JDBC 的写操作2. JDBC 的读操作总结前言本文介绍了mysq

java.sql.SQLTransientConnectionException连接超时异常原因及解决方案

《java.sql.SQLTransientConnectionException连接超时异常原因及解决方案》:本文主要介绍java.sql.SQLTransientConnectionExcep... 目录一、引言二、异常信息分析三、可能的原因3.1 连接池配置不合理3.2 数据库负载过高3.3 连接泄漏

防止Linux rm命令误操作的多场景防护方案与实践

《防止Linuxrm命令误操作的多场景防护方案与实践》在Linux系统中,rm命令是删除文件和目录的高效工具,但一旦误操作,如执行rm-rf/或rm-rf/*,极易导致系统数据灾难,本文针对不同场景... 目录引言理解 rm 命令及误操作风险rm 命令基础常见误操作案例防护方案使用 rm编程 别名及安全删除

Linux下MySQL数据库定时备份脚本与Crontab配置教学

《Linux下MySQL数据库定时备份脚本与Crontab配置教学》在生产环境中,数据库是核心资产之一,定期备份数据库可以有效防止意外数据丢失,本文将分享一份MySQL定时备份脚本,并讲解如何通过cr... 目录备份脚本详解脚本功能说明授权与可执行权限使用 Crontab 定时执行编辑 Crontab添加定