centos8中的MySQL卸载和安装

前言

前几天在自己的服务器上安装了一个NDB集群【而且还没有成功】

放弃治疗后用一台没有mysql的服务器实现了单机版本的集群。

本来以为这事到这就结束了,结果意外发现自己服务器上的MySQL被玩坏了……

本着修一修还能用的思想怒砸一个下午去修复,结果只发现了自己菜,没有发现mysql故障怎么解决……

所以就卸载重来吧……

卸载

mysql卸载主要分为三步:

  1. 卸载已安装的mysql程序;
  2. 删除相关的文件夹;
  3. 删除my.cnf文件。
卸载已安装的程序
# 查看已安装的mysql程序
shell> rpm -qa | grep -i mysql
mysql-errmsg-8.0.21-1.module_el8.2.0+493+63b41e36.x86_64
mysql-8.0.21-1.module_el8.2.0+493+63b41e36.x86_64
mysql-common-8.0.21-1.module_el8.2.0+493+63b41e36.x86_64
mysql-server-8.0.21-1.module_el8.2.0+493+63b41e36.x86_64 # 按照查询结果一一删除,可能会有顺序要求,因为部分文件存在依赖关系
shell> rpm -ev mysql-server-8.0.21-1.module_el8.2.0+493+63b41e36.x86_64
shell> rpm -ev mysql-errmsg-8.0.21-1.module_el8.2.0+493+63b41e36.x86_64
shell> rpm -ev mysql-8.0.21-1.module_el8.2.0+493+63b41e36.x86_64
shell> rpm -ev mysql-common-8.0.21-1.module_el8.2.0+493+63b41e36.x86_64 # rpm -qa | grep -i mariadb(删除centos默认系统自带的)
shell> rpm -qa | grep -i mariadb
shell> rpm -ev mariadb-connector-c-config-3.0.7-1.el8.noarch
删除相关的文件夹
# 查看对应的MySQL目录
find / -name mysql
# 结果:
/var/lib/docker/volumes/wp_db_data/_data/mysql
/var/lib/docker/volumes/94f2988e2ff63103c8c14f2bd69df6a4579e16bc2e5fd364b366878cd1e2fdc3/_data/mysql
... ... # 删除对应目录文件[和docker有关的不删,那是另外的东西]:
rm -rf /var/log/mysql
rm -rf /usr/share/selinux/packages/mysql
rm -rf /lanblue/conf/mysql
... ...
删除配置文件
# 最后删除配置文件
shell> rm -rf /etc/my.cnf

安装

这应该是我第三次在服务器上安装mysql,但是完全不记得之前怎么装的了,只记得简单【我明明觉得自己记过笔记的】。

网上找了一百个教程都没有看到特别喜欢的,尝试yum安装但是有点问题,最后还是在官网上下的包。

因为没有my.cnf,决定去官网说明文档里找一个。

等一等……

既然我都去官网了,为什么我不按照官网的教程来,明明学NDB集群的时候就是这样做的呀,果然还是吃了有经验的亏啊……

于是按照官网安装。

还是踩坑了,有配置需求的时候要看完官网教程,不要边看边学QAQ

下载
# 在某个目录下下载包
shell> wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.22-linux-glibc2.12-x86_64.tar.xz
# 解压
shell> tar Jxvf mysql-8.0.22-linux-glibc2.12-x86_64.tar.xz
# 移动和重命名
# 这两步不是记得太清楚了,最后结果就是把安装目录改名为mysql8,并放在/usr/local目录下。
# 大家可以放在自己喜欢的目录下
shell> mv ./mysql-8.0.22-linux-glibc2.12-x86_64 /usr/local
shell> cd /usr/local
shell>mv ./mysql-8.0.22-linux-glibc2.12-x86_64 mysql8
授权和配置
# 创建用户和用户组,有就不用管
shell> groupadd mysql
shell> useradd -r -g mysql -s /bin/false mysql # 转到安装目录下
shell> /usr/local/mysql8
shell> mkdir mysql-files
shell> chown mysql:mysql mysql-files
shell> chmod 750 mysql-files
# 可能是安全方面的想法
shell> bin/mysql_ssl_rsa_setup
# 可选的操作,我觉得可能是设置为开机启动
shell> cp support-files/mysql.server /etc/init.d/mysql.server # 不推荐!如果安装在官方推荐的目录下使用这句话没有问题,如果是自定义的目录不要用这句话
# shell> bin/mysqld --initialize --user=mysql
# 之后会出现问题 # 初始化
# 我使用的是这个语句,主要在于配置了basedir【安装目录】和datadir【存放数据的地方,里面要空】
# 初始化最后一行会出现临时密码,要复制粘贴待会用。
# 使用--initialize-insecure会默认没有密码,但是后续也要修改,所以我只示范本命令行中的方法
shell> bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql8 --datadir=/usr/local/mysql8/data
... ...
2020-12-22T06:12:26.872936Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: &dj*3sCai3Fw # 另一种方式 使用配置文件初始化
# 【在配置文件中设置目录】配置文件可以在网上找一找格式,需要自定义很多内容的小伙伴可以使用这种方式
# bin/mysqld --defaults-file=/path/to/your/config/my.cnf --initialize --user=mysql # 启动服务
# 跳转到bin目录
shell> ./mysqld_safe --user=mysql &
[1] 26248
... ...
2020-12-22T06:16:18.543780Z mysqld_safe Starting mysqld daemon with databases from /usr/local/mysql8/data # 已经有启动的进程了,但是查看状态会报错。应该是我没有设置服务名,不管他
shell> service mysqld status
Redirecting to /bin/systemctl status mysqld.service
● mysqld.service
Loaded: not-found (Reason: Unit mysqld.service not found.)
Active: failed (Result: exit-code) since Tue 2020-12-22 09:46:34 CST; 4h 37min ago
Main PID: 28825 (code=exited, status=1/FAILURE) # 尝试登陆一下
shell> mysql -u root -p
-bash: mysql: command not found # 默认找的是usr/local/bin,所以要做个软链接
ln -s /usr/local/mysql8/bin/mysql /usr/local/bin/mysql
# 之后就成功啦~记得使用之前看到的密码
shell> mysql -uroot -p
Enter password: # 修改密码
# 选择一个新密码来替换随机密码,否则无法执行任何操作
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'Myp@a$w*rd'; # 创建新用户并授权
mysql> CREATE USER 'blue'@'%' IDENTIFIED BY 'p@ssWor$';
mysql> GRANT ALL ON *.* TO 'blue'@'%'; # 远程登陆如果提示 client does not support authentication protocol requested by server
mysql> ALTER USER 'blue'@'%' IDENTIFIED WITH mysql_native_password BY 'p@ssWor$'; # 远程登陆如果提示 authentication plugin 'sha256_password' cannot be loaded
# 修改加密规则
mysql> ALTER USER 'blue'@'%' IDENTIFIED BY 'p@ssWor$' PASSWORD EXPIRE NEVER;
# 更新一下用户的密码
mysql> ALTER USER 'blue'@'%' IDENTIFIED WITH mysql_native_password BY 'p@ssWor$';
# 刷新权限
mysql> FLUSH PRIVILEGES;
# 这句也要执行
mysql> ALTER USER 'blue'@'%' IDENTIFIED BY 'p@ssWor$';

好啦,可以用啦~超开心。

centos8中的MySQL卸载和安装的更多相关文章

  1. linux mysql 卸载与安装及配置命令

    1.RPM包安装方式的MySQL卸载 1) 检查是否安装了MySQL组件. # rpm -qa | grep -i mysql 2)卸载前关闭MySQL服务 # service mysql statu ...

  2. linux mysql 卸载,安装,測试全过程

    Mysql卸载 yum remove mysql mysql-server mysql-libs compat-mysql51 rm -rf /var/lib/mysql rm /etc/my.cnf ...

  3. Linux_CentOS中的MySQL 数据库的安装调试、远程管理

    官网查看最新 MySQL 安装包 https://dev.mysql.com/downloads/repo/yum/ 下载 MySQL 源的安装包 wget http://dev.mysql.com/ ...

  4. Debian MySQL 卸载和安装 PHP安装

    如果是apt-get安装的 sudo apt-get --purge remove mysql-serversudo apt-get --purge remove mysql-clientsudo a ...

  5. CentOS7中Docker-ce的卸载和安装

    一.查看是否已安装了Docker软件包: #查看是否已经安装的Docker软件包sudo yum list installed | grep docker 二.如果已安装不想要的docker/dock ...

  6. 大数据之路week06--day07(Linux中的mysql的离线安装)

    这里我提供 服务端和客户端的两个jar包的百度云,也是我使用的 链接:https://pan.baidu.com/s/11a3LT-ENZ8n9IF19-VjmWA 提取码:bdls 离线安装Mysq ...

  7. mysql集群安装(centos)

    mysql cluster : 1. 基于NDB Cluster 的分布式数据库系统 2. mysql集群中各服务器节点不共享数据 3. 在mysql cluster中节点指的是进程,区别于其他的集群 ...

  8. 为WAMP中的mysql设置密码(默认为空)

    为WAMP中的mysql设置密码 WAMP安装好后,mysql密码是为空的,那么要如何修改呢?其实很简单,通过几条指令就行了,下面我就一步步来操作. 1.首先,通过WAMP打开mysql控制台. 提示 ...

  9. LinuxMint下JDK+Tomcat+Mysql+Eclipse javaEE安装

    网上查了很多方法,总结下比较简单的做法. 本人使用的系统版本为64位LinuxMint18,cinnamon桌面环境,预装Openjdk1.8.开发使用版本为oracle的1.7版本jdk. 1 jd ...

随机推荐

  1. 带你了解Boom 3D的Mac版音效模式

    音乐是很好的情绪抒发途径,因为音乐蕴含了很多信息,包含了很多情感,所以我们聆听不同种类的音乐的时候会产生不同的心理感受.这就是音乐的魅力,可以让人产生共鸣引发无数的思绪.为了能够更好的体会感受音乐可以 ...

  2. 再也不用担心问RecycleView了——面试真题详解

    关于RecycleView,之前我写过一篇比较基础的文章,主要说的是缓存和优化等问题.但是有读者反映问题不够实际和深入.于是,我又去淘了一些关于RecycleView的面试真题,大家一起看看吧,这次的 ...

  3. 基于Koa2+mongoDB的后端博客框架

    主要框架:koa2全家桶+mongoose+pm2. 在阅读前建议将项目克隆到本地配合食用,否则将看得云里雾里. 项目地址:https://github.com/YogurtQ/koa-server. ...

  4. selenium元素定位检查

    自动化测试的重点就是定位元素,然而定位元素没办法一步一步运行调试检查,每次都需要从代码的开始运行,检查起来效率极低. 一直想找一个能检查唯一性工具或者方法.百度发现一篇文章https://blog.c ...

  5. dubbo源码调试

    1.从github上clone下duboo的源码并checkout tag到2.6.5可以看到如下的结构: 其中all-dubbo的pom如下: 这里会将dubbo的其他项目在package的时候打到 ...

  6. 不使用 MQ 如何实现 pub/sub 场景?

    hello,大家好,我是小黑,又和大家见面啦~~ 在配置中心中,有一个经典的 pub/sub 场景:某个配置项发生变更之后,需要实时的同步到各个服务端节点,同时推送给客户端集群. 在之前实现的简易版配 ...

  7. Jmeter-BeanShell断言的运用二(不同Json格式的字段提取和断言判断)

    前言 为了更加熟悉BeanShell,所以用几个实例来记录说明下,不同的Json格式是怎么提取相应字段和判断断言的.(会持续更新...) 一.第一种Json格式 1.Json响应数据内容如下: { & ...

  8. Django----Serializer序列化

    serializer的两大特征 1.校检数据 2.序列化 首先创建apps/Serializer.py 在序列化里面导包 from rest_framework import serializers ...

  9. CSS聚光灯文字(无图片)

    Welcome to my admin site! h1 { font-size: 70px; color: rgba(255, 255, 255, 1); padding: 0; margin: 0 ...

  10. 图像处理术语解释:灰度、色相、饱和度、亮度、明度、阿尔法通道、HSL、HSV、RGBA、ARGB和PRGBA以及Premultiplied Alpha(Alpha预乘)等基础概念详解

    ☞ ░ 前往老猿Python博文目录 ░ 一.引言 由于老猿以前没接触过图像处理,在阅读moviepy代码时,对类的有些处理方法代码看不懂是什么含义,为此花了4天时间查阅了大量资料,并加以自己的理解和 ...