woff 發表於 2019-9-5 22:20:41

Centos7使用yum安裝MySQL5.6 及完整移除 MySQL 伺服器

因為CentOS7.6改成MySQL 5.7版後,居然mysql資料庫下的user表下居然沒有password欄位,所以怎麼樣都無法設定root的密碼,指令 mysqladmin -u root password "newpassword" 居然無法使用,找了古歌大神之後,才發現必須降回MySQL5.6才行

改repo
vi /etc/yum.repos.d/mysql-community.repo


enable=1



enable=0

存檔離開


伺服器端端
一,安裝
//1.先安装带有可用的mysql5系列社区版资源的rpm包
# rpm -Uvh http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm
获取http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm
准备中...                        #################################
正在升级/安装...
   1:mysql-community-release-el7-5    #################################
//2.查看当前可用的mysql安装资源
# yum repolist enabled | grep "mysql.*-community.*"
mysql-connectors-community/x86_64 MySQL Connectors Community                  17
mysql-tools-community/x86_64      MySQL Tools Community                     31
mysql56-community/x86_64          MySQL 5.6 Community Server               199
//3.使用yum的方式安装MySQL;
//一般来说,只要安装mysql-server跟mysql-client
# yum -y install mysql-community-server
已加载插件:langpacks
正在解决依赖关系
--> 正在检查事务
---> 软件包 mysql-community-server.x86_64.0.5.6.28-2.el7 将被 安装
--> 正在处理依赖关系 mysql-community-common(x86-64) = 5.6.28-2.el7,它被软件包 mysql-community-server-5.6.28-2.el7.x86_64 需要
--> 正在处理依赖关系 mysql-community-client(x86-64) = 5.6.28-2.el7,它被软件包 mysql-community-server-5.6.28-2.el7.x86_64 需要
--> 正在处理依赖关系 perl(DBI),它被软件包 mysql-community-server-5.6.28-2.el7.x86_64 需要
--> 正在检查事务
---> 软件包 mysql-community-client.x86_64.0.5.6.28-2.el7 将被 安装
--> 正在处理依赖关系 mysql-community-libs(x86-64) = 5.6.28-2.el7,它被软件包 mysql-community-client-5.6.28-2.el7.x86_64 需要
---> 软件包 mysql-community-common.x86_64.0.5.6.28-2.el7 将被 安装
---> 软件包 perl-DBI.x86_64.0.1.627-4.el7 将被 安装
--> 正在处理依赖关系 perl(RPC::PlServer) >= 0.2001,它被软件包 perl-DBI-1.627-4.el7.x86_64 需要
--> 正在处理依赖关系 perl(RPC::PlClient) >= 0.2000,它被软件包 perl-DBI-1.627-4.el7.x86_64 需要
--> 正在检查事务
---> 软件包 mariadb-libs.x86_64.1.5.5.40-1.el7_0 将被 取代
---> 软件包 mysql-community-libs.x86_64.0.5.6.28-2.el7 将被 舍弃
---> 软件包 perl-PlRPC.noarch.0.0.2020-14.el7 将被 安装
--> 正在处理依赖关系 perl(Net::Daemon) >= 0.13,它被软件包 perl-PlRPC-0.2020-14.el7.noarch 需要
--> 正在处理依赖关系 perl(Net::Daemon::Test),它被软件包 perl-PlRPC-0.2020-14.el7.noarch 需要
--> 正在处理依赖关系 perl(Net::Daemon::Log),它被软件包 perl-PlRPC-0.2020-14.el7.noarch 需要
--> 正在处理依赖关系 perl(Compress::Zlib),它被软件包 perl-PlRPC-0.2020-14.el7.noarch 需要
--> 正在检查事务
---> 软件包 perl-IO-Compress.noarch.0.2.061-2.el7 将被 安装
--> 正在处理依赖关系 perl(Compress::Raw::Zlib) >= 2.061,它被软件包 perl-IO-Compress-2.061-2.el7.noarch 需要
--> 正在处理依赖关系 perl(Compress::Raw::Bzip2) >= 2.061,它被软件包 perl-IO-Compress-2.061-2.el7.noarch 需要
---> 软件包 perl-Net-Daemon.noarch.0.0.48-5.el7 将被 安装
--> 正在检查事务
---> 软件包 perl-Compress-Raw-Bzip2.x86_64.0.2.061-3.el7 将被 安装
---> 软件包 perl-Compress-Raw-Zlib.x86_64.1.2.061-4.el7 将被 安装
--> 解决依赖关系完成

依赖关系解决

==============================================================================================
Package                     架构         版本                源                     大小
==============================================================================================
正在安装:
mysql-community-libs          x86_64       5.6.28-2.el7      mysql56-community       2.0 M
      替换mariadb-libs.x86_64 1:5.5.40-1.el7_0
mysql-community-server      x86_64       5.6.28-2.el7      mysql56-community      58 M
为依赖而安装:
mysql-community-client      x86_64       5.6.28-2.el7      mysql56-community      19 M
mysql-community-common      x86_64       5.6.28-2.el7      mysql56-community       256 k
perl-Compress-Raw-Bzip2       x86_64       2.061-3.el7         base                     32 k
perl-Compress-Raw-Zlib      x86_64       1:2.061-4.el7       base                     57 k
perl-DBI                      x86_64       1.627-4.el7         base                  802 k
perl-IO-Compress            noarch       2.061-2.el7         base                  260 k
perl-Net-Daemon               noarch       0.48-5.el7          base                     51 k
perl-PlRPC                  noarch       0.2020-14.el7       base                     36 k

事务概要
==============================================================================================
安装2 软件包 (+8 依赖软件包)

总下载量:80 M
Downloading packages:
警告:/var/cache/yum/x86_64/7/mysql56-community/packages/mysql-community-common-5.6.28-2.el7.x86_64.rpm: 头V3 DSA/SHA1 Signature, 密钥 ID 5072e1f5: NOKEY
mysql-community-common-5.6.28-2.el7.x86_64.rpm 的公钥尚未安装
(1/10): mysql-community-common-5.6.28-2.el7.x86_64.rpm               | 256 kB00:00:14   
(2/10): mysql-community-libs-5.6.28-2.el7.x86_64.rpm                   | 2.0 MB00:02:57   
(3/10): perl-Compress-Raw-Zlib-2.061-4.el7.x86_64.rpm                  |57 kB00:00:00   
(4/10): perl-Compress-Raw-Bzip2-2.061-3.el7.x86_64.rpm               |32 kB00:00:00   
(5/10): perl-IO-Compress-2.061-2.el7.noarch.rpm                        | 260 kB00:00:00   
(6/10): perl-Net-Daemon-0.48-5.el7.noarch.rpm                        |51 kB00:00:00   
(7/10): perl-PlRPC-0.2020-14.el7.noarch.rpm
(8/10): perl-DBI-1.627-4.el7.x86_64.rpm                              | 802 kB00:00:00   
(9/10): mysql-community-server-5.6.28-2.el7.x86_64.rpm               |58 MB00:54:45   
(10/10): mysql-community-client-5.6.28-2.el7.x86_64.rpm                |19 MB00:20:42   
总计                                                         13 kB/s |80 MB01:45:50   
从 file:/etc/pki/rpm-gpg/RPM-GPG-KEY-mysql 检索密钥
导入 GPG key 0x5072E1F5:
用户ID   : "MySQL Release Engineering <mysql-build@oss.oracle.com>"
指纹       : a4a9 4068 76fc bd3c 4567 70c8 8c71 8d3b 5072 e1f5
软件包   : mysql-community-release-el7-5.noarch (installed)
来自       : file:/etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
警告:RPM 数据库已被非 yum 程序修改。
正在安装    : mysql-community-common-5.6.28-2.el7.x86_64                               1/11
正在安装    : mysql-community-libs-5.6.28-2.el7.x86_64                                 2/11
正在安装    : mysql-community-client-5.6.28-2.el7.x86_64                               3/11
正在安装    : 1:perl-Compress-Raw-Zlib-2.061-4.el7.x86_64                              4/11
正在安装    : perl-Net-Daemon-0.48-5.el7.noarch                                        5/11
正在安装    : perl-Compress-Raw-Bzip2-2.061-3.el7.x86_64                               6/11
正在安装    : perl-IO-Compress-2.061-2.el7.noarch                                    7/11
正在安装    : perl-PlRPC-0.2020-14.el7.noarch                                          8/11
正在安装    : perl-DBI-1.627-4.el7.x86_64                                              9/11
正在安装    : mysql-community-server-5.6.28-2.el7.x86_64                              10/11
正在删除    : 1:mariadb-libs-5.5.40-1.el7_0.x86_64                                    11/11
验证中      : perl-Compress-Raw-Bzip2-2.061-3.el7.x86_64                               1/11
验证中      : perl-Net-Daemon-0.48-5.el7.noarch                                        2/11
验证中      : mysql-community-common-5.6.28-2.el7.x86_64                               3/11
验证中      : perl-IO-Compress-2.061-2.el7.noarch                                    4/11
验证中      : mysql-community-libs-5.6.28-2.el7.x86_64                                 5/11
验证中      : mysql-community-client-5.6.28-2.el7.x86_64                               6/11
验证中      : 1:perl-Compress-Raw-Zlib-2.061-4.el7.x86_64                              7/11
验证中      : perl-DBI-1.627-4.el7.x86_64                                              8/11
验证中      : mysql-community-server-5.6.28-2.el7.x86_64                               9/11
验证中      : perl-PlRPC-0.2020-14.el7.noarch                                       10/11
验证中      : 1:mariadb-libs-5.5.40-1.el7_0.x86_64                                    11/11

已安装:
mysql-community-libs.x86_64 0:5.6.28-2.el7   mysql-community-server.x86_64 0:5.6.28-2.el7

作为依赖被安装:
mysql-community-client.x86_64 0:5.6.28-2.el7mysql-community-common.x86_64 0:5.6.28-2.el7
perl-Compress-Raw-Bzip2.x86_64 0:2.061-3.el7perl-Compress-Raw-Zlib.x86_64 1:2.061-4.el7
perl-DBI.x86_64 0:1.627-4.el7               perl-IO-Compress.noarch 0:2.061-2.el7      
perl-Net-Daemon.noarch 0:0.48-5.el7         perl-PlRPC.noarch 0:0.2020-14.el7            

替代:
mariadb-libs.x86_64 1:5.5.40-1.el7_0                                                      

完毕!
一,配置
//加入开机启动
# systemctl enable mysqld
//启动mysql服务进程
# systemctl start mysqld
//重置密码
# mysql_secure_installation

NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MySQL
      SERVERS IN PRODUCTION USE!PLEASE READ EACH STEP CAREFULLY!

In order to log into MySQL to secure it, we'll need the current
password for the root user.If you've just installed MySQL, and
you haven't set the root password yet, the password will be blank,
so you should just press enter here.

Enter current password for root (enter for none):
OK, successfully used password, moving on...

Setting the root password ensures that nobody can log into the MySQL
root user without the proper authorisation.

Set root password? y      [设置root用户密码]
New password:
Re-enter new password:
Password updated successfully!
Reloading privilege tables..
... Success!


By default, a MySQL installation has an anonymous user, allowing anyone
to log into MySQL without having to have a user account created for
them.This is intended only for testing, and to make the installation
go a bit smoother.You should remove them before moving into a
production environment.

Remove anonymous users? y            [删除匿名用户]
... Success!

Normally, root should only be allowed to connect from 'localhost'.This
ensures that someone cannot guess at the root password from the network.

Disallow root login remotely? n            [禁止root远程登录]
... skipping.

By default, MySQL comes with a database named 'test' that anyone can
access.This is also intended only for testing, and should be removed
before moving into a production environment.

Remove test database and access to it? y       [删除test数据库]
- Dropping test database...
ERROR 1008 (HY000) at line 1: Can't drop database 'test'; database doesn't exist
... Failed!Not critical, keep moving...
- Removing privileges on test database...
... Success!

Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.

Reload privilege tables now? y      [刷新权限]
... Success!


All done!If you've completed all of the above steps, your MySQL
installation should now be secure.

Thanks for using MySQL!

Cleaning up...
示例:新建測試數據庫
//登录MYSQL(有ROOT权限)。这里我以ROOT身份登录
# mysql -u root -p
//修改访问权限,让其他计算机也能访问
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'yourpassword' WITH GRANT OPTION;
//首先为用户创建一个数据库hivemeta
mysql> create database test;
mysql> use test
//授权hdp用户拥有hivemeta数据库的所有权限。
mysql> grant all privileges on *.* to cgq@"%" identified by "yckj" with grant option;
//刷新系统权限表
mysql> flush privileges;
mysql> use test;
//mysql/hive字符集问题
mysql> alter database test character set latin1;

测试连接......

RHEL / CentOS 完整移除 MySQL 伺服器

以下文章會示範在 RHEL 及 CentOS 下完整移除 MySQL 伺服器, 如果 MySQL 的資料還有用, 在開始前務必要先備份 MySQL 的資料。

首先檢查安裝在系統的 MySQL 相關套件, 可以用 rpm 或 yum 指令查看:

# rpm -qa | grep mysql
mysql-libs-5.1.73-5.el6_6.x86_64
mysql-server-5.1.73-5.el6_6.x86_64
mysql-5.1.73-5.el6_6.x86_64




# yum list installed | grep mysql
知道了安裝在系統的 MySQL 相關套件後, 用 YUM 移除:

# yum remove mysql-libs mysql-server mysql-client mysql
移除了 MySQL 的相關套件後, 接著是把資料庫目錄及 my.cnf 移除:

# rm -rf /var/lib/mysql/
# rm -rf /etc/my.cnf
這時已經完整地從系統移除 MySQL 了。
參考文章
https://www.jianshu.com/p/481763139ef2
https://www.opencli.com/linux/rhel-centos-remove-mysql-server
頁: [1]
查看完整版本: Centos7使用yum安裝MySQL5.6 及完整移除 MySQL 伺服器