【MySQL解惑笔记】Centos7下卸载彻底MySQL数据库

彻底卸载Yum安装的MySQL数据库

  • 在我第二章MySQL数据库基于Centos7.3-部署过程中,因为以前安装过其它的版本所以没有卸载干净影响后期安装

一、MySQL数据库的官方网址:

  • https://www.oracle.com/
  • http://dev.mysql.com/doc/refman/5.7/en/linux-installation.html
  •      
     //不同版本的安装文档和下载可以在这里找

折腾了大半天,看了想,想了看,总算是弄清楚yum安装的过程了,之前写过二进制包安装的,这里用yum安装,环境都是一样的,Centos7.2+MySQL5.7.18.

离线状态下使用rpm的安装包进行mysql的安装,仅作备忘

阿里云 Centos7.3安装mysql5.7.18 rpm安装,阿里云centosmysql

卸载MariaDB

CentOS7默认安装MariaDB而不是MySQL,而且yum服务器上也移除了MySQL相关的软件包。因为MariaDB和MySQL可能会冲突,故先卸载MariaDB。

1、安装新版mysql之前,我们需要将系统自带的mariadb-lib卸载

[[email protected] home]# rpm -qa | grep -i mariadb
 mariadb-libs-5.5.52-1.el7.x86_64
[[email protected] home]# rpm -e --nodeps mariadb-libs-5.5.52-1.el7.x86_64

2、到mysql的官网下载最新版mysql的rpm集合包:mysql-5.7.18-1.el6.x86_64.rpm-bundle.tar

3、上传mysql-5.7.18-1.el6.x86_64.rpm-bundle.tar到linux服务器,并解压tar包

[[email protected] home]# mkdir mysql
[[email protected] home]# tar -xf mysql-5.7.18-1.el6.x86_64.rpm-bundle.tar -C mysql
[[email protected] home]# cd mysql
[[email protected] mysql]# ll
total 459492
-rw-r--r-- 1 7155 31415  23618836 Mar 20 17:40 mysql-community-client-5.7.18-1.el6.x86_64.rpm
-rw-r--r-- 1 7155 31415    335496 Mar 20 17:40 mysql-community-common-5.7.18-1.el6.x86_64.rpm
-rw-r--r-- 1 7155 31415   3747352 Mar 20 17:40 mysql-community-devel-5.7.18-1.el6.x86_64.rpm
-rw-r--r-- 1 7155 31415  39086508 Mar 20 17:40 mysql-community-embedded-5.7.18-1.el6.x86_64.rpm
-rw-r--r-- 1 7155 31415 135869292 Mar 20 17:40 mysql-community-embedded-devel-5.7.18-1.el6.x86_64.rpm
-rw-r--r-- 1 7155 31415   2177064 Mar 20 17:40 mysql-community-libs-5.7.18-1.el6.x86_64.rpm
-rw-r--r-- 1 7155 31415   1723180 Mar 20 17:40 mysql-community-libs-compat-5.7.18-1.el6.x86_64.rpm
-rw-r--r-- 1 7155 31415 159060212 Mar 20 17:41 mysql-community-server-5.7.18-1.el6.x86_64.rpm
-rw-r--r-- 1 7155 31415 104881084 Mar 20 17:41 mysql-community-test-5.7.18-1.el6.x86_64.rpm

4、使用rpm -ivh命令进行安装

[[email protected] mysql]# rpm -ivh mysql-community-common-5.7.18-1.el6.x86_64.rpm
warning: mysql-community-common-5.7.18-1.el6.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY
Preparing...                          ################################# [100%]
Updating / installing...
   1:mysql-community-common-5.7.18-1.e################################# [100%]
[[email protected] mysql]# rpm -ivh mysql-community-libs-5.7.18-1.el6.x86_64.rpm
warning: mysql-community-libs-5.7.18-1.el6.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY
Preparing...                          ################################# [100%]
Updating / installing...
   1:mysql-community-libs-5.7.18-1.el6################################# [100%]
[[email protected] mysql]# rpm -ivh mysql-community-client-5.7.18-1.el6.x86_64.rpm
warning: mysql-community-client-5.7.18-1.el6.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY
Preparing...                          ################################# [100%]
Updating / installing...
   1:mysql-community-client-5.7.18-1.e################################# [100%]
[[email protected] mysql]# rpm -ivh mysql-community-server-5.7.18-1.el6.x86_64.rpm
warning: mysql-community-server-5.7.18-1.el6.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY
Preparing...                          ################################# [100%]
Updating / installing...
   1:mysql-community-server-5.7.18-1.e################################# [100%]
[[email protected] mysql]# 

上面几个包有依赖关系,执行有先后。

使用rpm安装方式安装mysql,安装的路径如下:

a 数据库目录
/var/lib/mysql/
b 配置文件
/usr/share/mysql(mysql.server命令及配置文件)
c 相关命令
/usr/bin(mysqladmin mysqldump等命令)
d 启动脚本
/etc/rc.d/init.d/(启动脚本文件mysql的目录)

e /etc/my.conf

5、 数据库初始化

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

[[email protected] mysql]# mysqld --initialize --user=mysql

如果是以 mysql 身份登录运行,则可以去掉 –user 选项。

另外 –initialize 选项默认以“安全”模式来初始化,则会为 root
用户生成一个密码并将该密码标记为过期,登陆后你需要设置一个新的密码,

而使用 –initialize-insecure 命令则不使用安全模式,则不会为 root
用户生成一个密码。

这里演示使用的 –initialize 初始化的,会生成一个 root
账户密码,密码在log文件里,红色区域的就是自动生成的密码

[[email protected] mysql]# cat /var/log/mysqld.log
2017-06-05T14:30:52.709474Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2017-06-05T14:30:55.590590Z 0 [Warning] InnoDB: New log files created, LSN=45790
2017-06-05T14:30:56.000269Z 0 [Warning] InnoDB: Creating foreign key constraint system tables.
2017-06-05T14:30:56.109868Z 0 [Warning] No existing UUID has been found, so we assume that this is the first time that this server has been started. Generating a new UUID: 960c533e-49fb-11e7-91f2-00163e089fd2.
2017-06-05T14:30:56.116186Z 0 [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened.
2017-06-05T14:30:56.116777Z 1 [Note] A temporary password is generated for [email protected]: :Wu?2QQutQwj

 现在启动mysql数据库systemctl start
mysqld.service(Centos7特有的启动方式)

[[email protected] mysql]# systemctl start mysqld.service

可以使用下面两个命令对mysql进行停止,启动和重启:

启动:

使用 service 启动:service mysqld start
使用 mysqld 脚本启动:/etc/inint.d/mysqld start
使用 safe_mysqld 启动:safe_mysqld&

停止:

使用 service 启动:service mysqld stop
使用 mysqld 脚本启动:/etc/inint.d/mysqld stop
mysqladmin shutdown 

重启:

使用 service 启动:service mysqld restart
使用 mysqld 脚本启动:/etc/inint.d/mysqld restart

连接数据库

[[email protected] mysql]# mysql -u root -p 
Enter password:

密码输入:  :Wu?2QQutQwj

修改密码:

set password = password('你的密码');

设置远程访问

grant all privileges on *.* to 'root' @'%' identified by '123456'; 
flush privileges;

设置mysql开机启动

加入到系统服务:
chkconfig --add mysql
自动启动:
chkconfig mysql on
查询列表:
chkconfig

说明:都没关闭(off)时是没有自动启动。

 

flush privileges;

Centos7.3安装mysql5.7.18
rpm安装,阿里云centosmysql 卸载MariaDB
CentOS7默认安装MariaDB而不是MySQL,而且yum服务器上也移除了MySQL相关的软件包…

一、卸载Centos7自带的Maridb数据库

卸载maridb:
[root@host-131 ~]# rpm -qa | grep mariadb
mariadb-libs-5.5.52-1.el7.x86_64
[root@host-131 ~]# yum -y remove mari*
[root@host-131 ~]# rm -rf /var/lib/mysql/*
[root@host-131 ~]# rpm -qa | grep mariadb
[root@host-131 ~]#

二、MySQL的安装方法:

以下是MySQL常见的三种安装方式:

  • 二进制  rpm   Yum Repository   
    mysql57-community-release-el7-9.noarch.rpm
  • 二进制  预编译  Generic                       
    mysql-5.7.19-linux-glibc2.12-x86_64.tar.gz
  • 源码包安             Source Code              
     
    mysql-5.7.19.tar.gz

每一步都参考了不少文章,后面会一一列举出来,因为本机已经安装过了,索性按照步骤一步一步卸载完成之后再重新安装。

准备工作:

二、彻底卸载MySQL数据库:

基于MySQL数据库基于Centos7.3-部署后,卸载mysql数据库:
[root@host-131 ~]# yum remove mysql-community-serve

使用remove发现还有部分残余文件:
这就是默认的卸载,其实还有很多 MySQL 依赖的软件包都并没有移除,
我们可以使用 rpm 命令的方式查看有哪些相关的软件名

[root@host-131 ~]# rpm -qa |grep mysql
mysql-community-libs-5.7.22-1.el7.x86_64
mysql-community-server-5.7.22-1.el7.x86_64
mysql80-community-release-el7-1.noarch
mysql-community-client-5.7.22-1.el7.x86_64
mysql-community-common-5.7.22-1.el7.x86_64
[root@host-131 ~]# yum remove mysql-*    //挨个卸载

卸载并不会自动删除配置文件等,所以我们还需要手动来删除
[root@host-131 ~]# find / -name mysql
/etc/logrotate.d/mysql
/var/lib/mysql
/var/lib/mysql/mysql
/usr/bin/mysql
/usr/lib64/mysql
/usr/share/mysql
[root@host-131 ~]# 
[root@host-131 ~]# rm -rf /var/lib/mysql     //将上边的文件全部删除

通过这个方法可以完全卸载MySQL

 

 

三、Yum的方法安装MySQL:

  • yum安装mysql 5.7
    的官方安装方法地址

1、下载安装包

  • *此地址为Mysql 8.0 的安装源其中包含MySQL
    5.7的源,可以在后边步骤修改开放的仓库:
     *

2、 设置安装初始环境

暂时先把防火墙关闭保证实验顺利:
[root@host-131 ~]# systemctl stop firewalld 
[root@host-131 ~]# systemctl disable firewalld.service
临时关闭SELlinux:
[root@host-131 ~]# setenforce 0
永久关闭SELinux:
[root@host-131 ~]# sed -ri '/^SELINUX=/cSELINUX=disabled' /etc/selinux/config
查看SELinux状态:
[root@host-131 ~]# getenforce
Disabled

 3、卸载系统自带的数据库(Centos7自带的是maridb)

本文通过一系列相对山寨的方式来实现,对于像本人一样接触linux时间不长的用户,相对也比较容易理解和接受,比如直接在Windows下面下载文件拖动到linux系统中而不是wget命令下载,直接通过winscp编辑器的编辑功能,而不是vim命令编辑.

官网下载mysql离线rpm安装包(这里就不演示了,拿现成的做演示)

可参考:【MySQL解惑笔记】Centos7下卸载彻底MySQL数据库

卸载maridb:
[root@host-131 ~]# rpm -qa | grep mariadb
mariadb-libs-5.5.52-1.el7.x86_64
[root@host-131 ~]# yum -y remove mari*
[root@host-131 ~]# rm -rf /var/lib/mysql/*
[root@host-131 ~]# rpm -qa | grep mariadb
[root@host-131 ~]# 

4、修改仓库

[root@host-131 src]# yum rpolist all |grep mysql      //查看所有仓库,并能够看到开启和禁用的仓库
[root@host-131 src]# yum repolist enabled | grep "mysql.*-community.*"  //查看所有开启的仓库,发现现在开启的是MySQL 8.0的,我们需要开启MySQL5.7的仓库
mysql-connectors-community/x86_64 MySQL Connectors Community                  51
mysql-tools-community/x86_64      MySQL Tools Community                       63
mysql80-community/x86_64          MySQL 8.0 Community Server                  17     //k

 开启和关闭不同仓库,官方提供了三种修改方法:

方法一:
shell> sudo yum-config-manager --disable mysql80-community
shell> sudo yum-config-manager --enable mysql57-community

方法二:
shell> sudo dnf config-manager --disable mysql57-community
shell> sudo dnf config-manager --enable mysql56-community

方法三:
我们直接修改Yum源文件:
[root@host-131 ~]# cd /etc/yum.repos.d 
[root@host-131 yum.repos.d]# vim mysql-community.repo 
[mysql57-community]
name=MySQL 5.7 Community Server
baseurl=http://repo.mysql.com/yum/mysql-5.7-community/el/6/$basearch/
enabled=1                        //修改为1表示开启
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql

[mysql80-community]
name=MySQL 8.0 Community Server
baseurl=http://repo.mysql.com/yum/mysql-8.0-community/el/7/$basearch/
enabled=0                        //修改为0表示关闭
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql

[root@host-131 yum.repos.d]# yum repolist enabled | grep "mysql.*-community.*"
mysql-connectors-community/x86_64 MySQL Connectors Community                  51
mysql-tools-community/x86_64      MySQL Tools Community                       63
mysql57-community/x86_64          MySQL 5.7 Community Server                 267    //可以看到5.7存储仓库已经开启

注意:我们应该在任何时候只启用一个发布系列的子存储库。当启用多个发布系列的子存储库时,Yum将使用最新的系列。
通过运行以下命令并检查其输出(对于Fedora,用dnf替换yum),验证是否启用了正确的子库并禁用了它:
[root@host-131 yum.repos.d]# yum repolist enabled | grep mysql
mysql-connectors-community/x86_64 MySQL Connectors Community                  51
mysql-tools-community/x86_64      MySQL Tools Community                       63
mysql57-community/x86_64          MySQL 5.7 Community Server                 267

 5、安装MySQL数据库

[root@host-131 yum.repos.d]# yum -y install mysql-community-server
[root@host-131 ~]# systemctl start mysqld   
[root@host-131 ~]# systemctl enable mysqld   设置开机自启动
[root@host-131 ~]# systemctl status mysqld  查看mysql启动状态

[root@host-131 ~]# ls /var/lib/mysql    (安装后可以看到初始化的数据库)
auto.cnf    client-cert.pem  ibdata1      ibtmp1      mysql.sock.lock     public_key.pem   sys
ca-key.pem  client-key.pem   ib_logfile0  mysql   performance_schema  server-cert.pem
ca.pem      ib_buffer_pool   ib_logfile1  mysql.sock  private_key.pem     server-key.pem

6、首次登录数据库,并设置初始化密码

[root@host-131 ~]# mysql
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
发现是禁止访问的

在服务器的初始启动时,由于服务器的数据目录为空:服务器初始化。SSL证书和密钥文件是在数据目录中生成的。
安装并启用了validate_password。
一个超级用户帐户'root'@'localhost被创建。
超级用户的密码被设置并存储在错误日志文件中。要显示它,请使用以下命令:

MySQL5.5之前版本安装后可以直接登录
MySQL5.5自动生成的密码是空的
MySQL5.6是将密码放在root下的
MySQL5.7是将密码放在:
[root@host-131 ~]# grep 'temporary password' /var/log/mysqld.log
2018-05-30T06:34:56.956716Z 1 [Note] A temporary password is generated for root@localhost: xt8S3rWXOL/C
[root@host-131 ~]# 
[root@host-131 ~]# mysql -uroot -p"xt8S3rWXOL/C"
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor.  Commands end with ; or g.
Your MySQL connection id is 4
Server version: 5.7.22
修改密码:
方法一:
[root@host-131 ~]# mysqladmin -uroot -p"xt8S3rWXOL/C" password "Yanglt123."   //密码要满足复杂性要求
[root@host-131 ~]# mysql -uroot -p"Yanglt123."

方法二:

[root@host-131 ~]# grep 'temporary password' /var/log/mysqld.log
2018-05-30T06:34:56.956716Z 1 [Note] A temporary password is generated for root@localhost: xt8S3rWXOL/C
[root@host-131 ~]# 
[root@host-131 ~]# mysql -uroot -p"xt8S3rWXOL/C"

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass4!';

 到此数据库安装成功:

源码安装可参考文章:*【Linux运维】LNMP环境配置*

  

卸载

图片 1

  操作系统版本

卸载并清理之前mysql安装与卸载的残留

图片 2

1、检测本机安装的MySQL并卸载

   rpm -qa | grep -i mysql
   rpm -qa | grep -i mysql命令查看已经安装过的组件。
rpm -qa|grep -i mysql

图片 3

图片 4

使用yum -y
remove命令卸载已经安装的MySQL组件,使用下面的命令,对于上面已经安装的分别卸载,

其中那个noarch那个是源地址包,不安装也一样

yum -y remove mysql-community-libs-5.7.18-1.el7.x86_64
yum -y remove mysql-community-common-5.7.18-1.el7.x86_64
yum -y remove mysql-community-client-5.7.18-1.el7.x86_64
yum -y remove mysql57-community-release-el7-10.noarch
yum -y remove mysql-community-server-5.7.18-1.el7.x86_64

2、如上图所示,说明系统中已经装有MySQL,将其卸载:

多的图就不截了,截一个示例一下。

[root@hellxz ~]# yum remove mysql

图片 5

然后再次执行第一步查看是否有安装的mysql存在,如果有,可以直接yum remove
加上刚才找到的包名,进行卸载

   再次使用rpm -qa | grep -i mysql查看已安装的组件,已经完全卸载了。

3、查看/var/lib/mysql文件夹是否存在,如果有,请删除,其中含有mysql残留的数据库,如果不删除,新安装的mysql是不会创建新数据库的

图片 6

如果有,则删除

  whereis mysql查询之前安装生成的目录,分别移除。

rm -rf /var/lib/mysql

图片 7

安装mysql

安装

1、上传之前下载好的RPM包到centos,并执行安装,先安装server。

  下载MySQL的repo源,至于这个文件是干啥的,个人理解起来就是自动帮你配置MySQL安装组件的yum源的。

rpm -ivh mysql-community-server-5.6.26-2.el6.i686.rpm

  这个文件可以在Windows下面下载,然后在上传至linux服务器中,也可以在linux服务器中直接下载,也是需要安装的。

图片 8

图片 9

上图是正常安装的,正常安装请忽略下述问题

这个文件下载下来之后,通过winscp拖到linux服务器的根目录下

1.1
此处可能会出现问题,
如下图,出现这个情况,我是很纠结的搞了好一会,最后还是yum
install
加上了没安装上的包名,很奇怪的是没用多少流量就安装好了。。。原包说215M,实际我这显示不到5M…很奇怪

图片 10

图片 11

  Linux下上面下载的文件

2、然后应该安装client端,但是我这报了依赖缺失,让我先装别的。。上我的安装方法吧:

图片 12

rpm -ivh mysql-community-common-5.6.26-2.el6.i686.rpm
rpm -ivh mysql-community-libs-5.6.26-2.el6.i686.rpm 
rpm -ivh mysql-community-client-5.6.26-2.el6.i686.rpm

    安装MySQL的repo包

3、安装完成后启动MySQL服务:

 rpm -ivh mysql57-community-release-el7-10.noarch.rpm
#别问我为什么加d,可能是版本不一样
service mysqld restart

图片 13

4、修改默认密码:

中间会有一些简单的提示,输入Y之后,一切都是全自动安装。

#-u后边的就是用户名,后边的是root是密码,酌情修改
/usr/bin/mysqladmin -u root password 'root'
 yum install mysql-community-server

5、打开mysql命令行:

图片 14

#其中-u后边没有空格直接加用户名,输入此条之后提示输入密码
mysql -uroot -p

安装完成

6、远程连接授权(仅本地使用可以不设置):

图片 15

#授权的@前边的是用户名,by后是密码
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;

修改Root初始密码

7、使用navicat连接虚拟机中的mysql实验:

  安装之后会在etc下生成一个my.cnf文件,在my.cnf中加入一个skip-grant-tables
= 1配置,跳过初始化密码验证要求。

图片 16

图片 17

8、如果第7步出现了

   systemctl启动mysql服务

图片 18

图片 19

请在centos中关闭防火墙,临时关闭代码:

  连接至MySQL服务,因为配置了跳过密码要求,输入mysql -u
-p之后回车,提示输入密码的时候继续回车就可以连接至mysql了。

关闭防火墙命令: service iptables stop

图片 20

永久关闭防火墙:chkconfig iptables off

  修改MySQL的Root密码

图片 21

update user set authentication_string=PASSWORD('newpassword') where User='root';

教程结束。

图片 22

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

  利用这个语句修改root用户可远程访问,update user set host = ‘%’ where
user = ‘root’

您可能感兴趣的文章:

  • Centos中彻底删除Mysql(rpm、yum安装的情况)
  • SUSE Linux下通过RPM方式卸载MySQL
    5过程笔记
  • Linux下rpm方式安装mysql教程
  • Linux系统下使用rpm方式安装最新mysql5.7.17完整步骤
  • CentOS6.5下RPM方式安装mysql5.6.33的详细教程
  • Linux
    使用rpm方式安装最新mysql(5.7.16)步骤及常见问题解决方法
  • 记录无法安装mysql-Invalid GPG Key from
    file:/etc/pki/rpm-gpg/RPM-GPG-KEY-mysql的解决办法
  • CentOS7使用rpm包安装mysql
    5.7.18
  • 使用RPM包安装MySQL
    5.7.18的教程
  • 阿里云 Centos7.3安装mysql5.7.18
    rpm安装教程

图片 23

重启之后,可以用预制的密码登陆连接至MySQL

图片 24

整个过程还是比较简单的,熟悉的话,也就是几分钟的事

这么折腾一遍其实花不了多久时间,只不过是自己不熟悉,一边摸索一边尝试,如果有人指导一下或者多摸索一下就会简单很多

您可能感兴趣的文章:

  • win10下完全卸载+重装MySQL步骤详解
  • Linux下MySQL卸载和安装图文教程
  • Mysql5.7解压版的安装和卸载及常见问题小结
  • ubuntu下apt-get安装和彻底卸载mysql详解
  • Linux下Mysql5.7.19卸载方法
  • CentOS下MySQL的彻底卸载的几种方法
  • Ubuntu彻底卸载MySQL、Apache2和Php的方法教程
  • MySql安装与卸载的详细教程
  • MySQL
    5.7解压版安装、卸载及乱码问题的图文解决方法
  • Windows
    10系统下彻底删除卸载MySQL的方法教程
  • Linux下卸载MySQL数据库
  • MySQL数据库卸载的完整步骤
  • Linux6.7卸载系统自带的mysql-libs*
    crontab命令不能用了原因分析
  • ubuntu16.04.1下
    mysql安装和卸载图文教程
  • Linux下彻底卸载mysql详解
  • windows下安装、卸载mysql服务的方法(mysql 5.6
    zip解压版安装教程)
  • Mac 安装和卸载 Mysql5.7.11
    的方法
  • MySQL5.7完全卸载步骤详解
网站地图xml地图