当前位置: 首页 > news >正文

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)连接测试成功

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

相关文章:

  • Transformer模型 PostionEmbedding的实现
  • @RequestBody与@RequestParam:Spring MVC中的参数接收差异解析
  • WPF ToolkitMVVM IOC IServiceConllection
  • ssrf+redis未授权访问漏洞复现
  • 【SpringCloud应用框架】GateWay网关
  • 【AI绘画】Midjourney前置/imagine与单图指令详解
  • 【递归深搜之记忆化搜索算法】
  • 缓存解决方案。Redis 和 Amazon ElastiCache 比较
  • 力扣top300:3. 无重复字符的最长子串
  • VMware安装中标麒麟操作系统V7.0
  • 无人机之云台的作用
  • 数字化转型升级探索(一)
  • Spring Cloud全解析:网关之GateWay断言
  • 基于FreeRTOS的STM32多功能手表
  • STM32-PWM驱动舵机——HAL库
  • 深入了解以太坊
  • 《Javascript高级程序设计 (第三版)》第五章 引用类型
  • 【108天】Java——《Head First Java》笔记(第1-4章)
  • co模块的前端实现
  • ES6系列(二)变量的解构赋值
  • exports和module.exports
  • Linux gpio口使用方法
  • mysql 数据库四种事务隔离级别
  • ucore操作系统实验笔记 - 重新理解中断
  • 百度贴吧爬虫node+vue baidu_tieba_crawler
  • 回流、重绘及其优化
  • 开年巨制!千人千面回放技术让你“看到”Flutter用户侧问题
  • 聊一聊前端的监控
  • 前端自动化解决方案
  • 移动端 h5开发相关内容总结(三)
  • 因为阿里,他们成了“杭漂”
  • 再谈express与koa的对比
  • 自制字幕遮挡器
  • ​插件化DPI在商用WIFI中的价值
  • ​人工智能之父图灵诞辰纪念日,一起来看最受读者欢迎的AI技术好书
  • #1014 : Trie树
  • #define,static,const,三种常量的区别
  • #宝哥教你#查看jquery绑定的事件函数
  • (14)Hive调优——合并小文件
  • (4.10~4.16)
  • (9)YOLO-Pose:使用对象关键点相似性损失增强多人姿态估计的增强版YOLO
  • (javascript)再说document.body.scrollTop的使用问题
  • (pytorch进阶之路)CLIP模型 实现图像多模态检索任务
  • (不用互三)AI绘画:科技赋能艺术的崭新时代
  • (翻译)terry crowley: 写给程序员
  • (附源码)ssm学生管理系统 毕业设计 141543
  • (七)Java对象在Hibernate持久化层的状态
  • (数据大屏)(Hadoop)基于SSM框架的学院校友管理系统的设计与实现+文档
  • (四)搭建容器云管理平台笔记—安装ETCD(不使用证书)
  • (五)Python 垃圾回收机制
  • (转)Linq学习笔记
  • (转)mysql使用Navicat 导出和导入数据库
  • ***php进行支付宝开发中return_url和notify_url的区别分析
  • .aanva
  • .NET I/O 学习笔记:对文件和目录进行解压缩操作