Linux - MySQL 8.0(一)在线安装卸载(Yum、Apt)

19 篇文章 6 订阅

此学习文是基于MySQL 8.0写的
得益于大神朋友的悉心指导解决不少坑,才写出此文,向大神奉上膝盖

# 前言

在安装之前,请记下操作系统和CPU架构,接下来的操作如下面各表所示。

  • MySQL Linux RPM包分发标识符
发布号应用于
el6、 el7Red Hat Enterprise Linux、 OracleLinux、 CentOS 6 或 7
fc23、 fc24、 fc25Fedora 23、 24或25
slesl2SUSE Linux Enterprise 12
  • MySQL Linux RPM包CPU标识符
CPU型号可用的处理器类型或家族
i386、 i586、 i686奔腾处理器或更高性能的处理器,32位
x86_6464位 x86 处理器
iA64安腾(IA-64)处理器
  • MySQL Debian和Ubuntu7、8安装软件包的CPU型号
CPU型号可用的处理器类型或系列
i386奔腾处理器或更高性能的处理器,32位
AMD6464位 x86 处理器
  • MySQL Debian 6安装包CPU类型
CPU型号可用的处理器类型或系列
i686奔腾处理器或更高性能的处理器,32位
x86_6464位 x86 处理器

一、Yum(Red Hat、CentOS)

1. Yum安装

1.1. 安装仓库源config

1.1.1. 查看RedHat或CentOS的版本
[nangy@nangy-vm ~]$ cat /etc/redhat-release
CentOS Linux release 7.6.1810 (Core) 
  • 顺带给系统更新更新
[nangy@nangy-vm ~]$ sudo yum update
1.1.2. 将MySQL Yum仓库添加到系统的仓库列表中

这是一次性操作,可以通过安装MySQL 提供的RPM 来执行
你可以从 http://dev.mysql.com/downloads/repo/yum/ 下载MySQL Yum仓库,然后根据自己的操作系统选择文件。

[nangy@nangy-vm ~]$ wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm

[nangy@nangy-vm ~]$ sudo yum localinstall -y mysql80-community-release-el7-3.noarch.rpm
  • 或者你可以复制链接位置并使用RPM直接安装
[nangy@nangy-vm ~]$ sudo rpm -Uvh "https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm"
1.1.3. 验证安装列表
[nangy@nangy-vm ~]$ yum repolist enabled | grep 'mysql.*-community.*'
mysql-connectors-community/x86_64       MySQL Connectors Community           108
mysql-tools-community/x86_64            MySQL Tools Community                 90
mysql80-community/x86_64                MySQL 8.0 Community Server           113
1.1.4. 设置发布系列
  • 查看默认发布系列
[nangy@nangy-vm ~]$ sudo yum repolist all | grep mysql
mysql-cluster-7.5-community/x86_64 MySQL Cluster 7.5 Community      禁用
mysql-cluster-7.5-community-source MySQL Cluster 7.5 Community - So 禁用
mysql-cluster-7.6-community/x86_64 MySQL Cluster 7.6 Community      禁用
mysql-cluster-7.6-community-source MySQL Cluster 7.6 Community - So 禁用
mysql-cluster-8.0-community/x86_64 MySQL Cluster 8.0 Community      禁用
mysql-cluster-8.0-community-source MySQL Cluster 8.0 Community - So 禁用
mysql-connectors-community/x86_64  MySQL Connectors Community       启用:    108
mysql-connectors-community-source  MySQL Connectors Community - Sou 禁用
mysql-tools-community/x86_64       MySQL Tools Community            启用:     90
mysql-tools-community-source       MySQL Tools Community - Source   禁用
mysql-tools-preview/x86_64         MySQL Tools Preview              禁用
mysql-tools-preview-source         MySQL Tools Preview - Source     禁用
mysql55-community/x86_64           MySQL 5.5 Community Server       禁用
mysql55-community-source           MySQL 5.5 Community Server - Sou 禁用
mysql56-community/x86_64           MySQL 5.6 Community Server       禁用
mysql56-community-source           MySQL 5.6 Community Server - Sou 禁用
mysql57-community/x86_64           MySQL 5.7 Community Server       禁用
mysql57-community-source           MySQL 5.7 Community Server - Sou 禁用
mysql80-community/x86_64           MySQL 8.0 Community Server       启用:    113
mysql80-community-source           MySQL 8.0 Community Server - Sou 禁用
  • 如果mysql80-community/x86_64未启用,则手动启用
  1. 方法一:通过命令启用|禁用版本
[nangy@nangy-vm ~]$ sudo yum install yum-utils.noarch -y

# 禁用其他发布版本,此步骤依据个人情况修改版本
[nangy@nangy-vm ~]$ sudo yum-config-manager --disable mysql57-community

# 启用MySQL 8.0 发布版本
[nangy@nangy-vm ~]$ sudo yum-config-manager --enable mysql80-community
  1. 方法二:修改yum仓库mysql配置文件启用|禁用版本
    /etc/yum.repos.d/mysql-community.repo
    enabled=1 启用 | enabled=1 禁用
[nangy@nangy-vm ~]$ sudo vim /etc/yum.repos.d/mysql-community.repo

# Enable to use MySQL 5.7
[mysql57-community]
name=MySQL 5.7 Community Server
baseurl=http://repo.mysql.com/yum/mysql-5.7-community/el/7/$basearch/
enabled=0
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=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
1.1.5. 确认mysql80-community/x86_64已启用
[nangy@nangy-vm ~]$ sudo yum repolist all | grep mysql8
mysql80-community/x86_64           MySQL 8.0 Community Server       启用:    113
mysql80-community-source           MySQL 8.0 Community Server - Sou 禁用

1.2. 安装MySQL

  1. 更新元数据缓存(此步骤是必需的
    如果不更新,安装还是历史旧版本
# 全清旧数据
[nangy@nangy-vm ~]$ sudo yum clean all
# 建立元数据缓存
[nangy@nangy-vm ~]$ sudo yum makecache
# 更新升级系统
[nangy@nangy-vm ~]$ sudo yum update
  1. 创建MySQL账户(可选)
[nangy@nangy-vm ~]$ sudo groupadd mysql

[nangy@nangy-vm ~]$ sudo useradd -g mysql mysql
  1. 安装MySQL社区版
[nangy@nangy-vm ~]$ sudo yum install -y mysql-community-server
  1. 验证已安装的软件包
[nangy@nangy-vm ~]$ rpm -qa | grep -i 'mysql.*8.*'
mysql-community-libs-8.0.16-2.el7.x86_64
mysql-community-libs-compat-8.0.16-2.el7.x86_64
mysql-community-server-8.0.16-2.el7.x86_64
mysql80-community-release-el7-3.noarch
mysql-community-client-8.0.16-2.el7.x86_64
mysql-community-common-8.0.16-2.el7.x86_64
  1. 启动停止MySQL
# 启动
[nangy@nangy-vm ~]$ sudo systemctl start mysqld

# 停止
[nangy@nangy-vm ~]$ sudo systemctl stop mysqld

# 重启
[nangy@nangy-vm ~]$ sudo systemctl restart mysqld
  1. 查看MySQL状态
[nangy@nangy-vm ~]$ sudo systemctl status mysqld
● mysqld.service - MySQL Server
   Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
   Active: "active (running)" since 一 2019-07-15 16:34:57 CST; 10min ago
     Docs: man:mysqld(8)
           http://dev.mysql.com/doc/refman/en/using-systemd.html
  Process: 1407 ExecStartPre=/usr/bin/mysqld_pre_systemd (code=exited, status=0/SUCCESS)
 Main PID: 5389 (mysqld)
   Status: "SERVER_OPERATING"
    Tasks: 37
   CGroup: /system.slice/mysqld.service
           └─5389 /usr/sbin/mysqld

7月 15 16:34:14 localhost systemd[1]: Starting MySQL Server...
7月 15 16:34:57 localhost systemd[1]: Started MySQL Server.
  • 几个默认目录
目录内容
/usr/bin客户端程序、脚本
/usr/sbinmysqld服务器
/var/lib/mysql日志文件、数据库文件
/usr/share/mysql错误消息、字符集文件
/etc/my.cnf配置文件

2. 登录MySQL

请参考:Linux - MySQL 8.0(二)基本操作:远程连接(Yum、Apt)

3. Yum卸载

  1. 检查已经安装了哪些包
[nangy@nangy-vm ~]$ rpm -qa | grep -i 'mysql-community'
  1. 删除包(语法而已)
[nangy@nangy-vm ~]$ sudo rpm -e <package-name>
  1. 删除所有包
    你可能会收到有其他包依赖MySQL的通知;
    如果你计划再次安装MySQL则可以通过传递--nodeps选项来忽略依赖警告
[nangy@nangy-vm ~]$ sudo rpm -qa | grep -i mysql-community | xargs sudo rpm -e --nodeps

4. 扩展阅读:托管访问控制系统(SELinux

  安全增强型 Linux(Security-Enhanced Linux)简称SELinux,它是一个 Linux 内核模块,也是 Linux 的一个安全子系统。
  SELinux 主要作用就是最大限度地减小系统中服务进程可访问的资源(最小权限原则)。
  在使用了 SELinux 的操作系统中,决定一个资源是否能被访问的因素除了某个资源是否拥有对应用户的权限(读、写、执行)之外,还需要判断每一类进程是否拥有对某一类资源的访问权限。

  • SELinux 有三种工作模式,分别是:
    1. enforcing:强制模式。违反SELinux规则的行为将被阻止并记录到日志中。
    2. permissive:宽容模式。违反SELinux规则的行为只会记录到日志中,一般为调试用。
    3. disabled:关闭SELinux,甚至你都没法使用setenforce

  SELinux工作模式可以在 /etc/selinux/config 中设定。
  如果想从 disabled 切换到 enforcing 或者 permissive的话,需要重启系统。反过来也一样。 enforcingpermissive 模式可以通过 setenforce 1|0 命令快速切换。
  需要注意的是,如果系统已经在关闭SELinux的状态下运行了一段时间,在打开SELinux之后的第一次重启速度可能会比较慢。因为系统必须为磁盘中的文件创建安全上下文(我表示我重启了大约10分钟,还以为是死机了……)。
  SELinux日志的记录需要借助 auditd.service 这个服务,请不要禁用它。

  • 临时性操作
    使用root用户,执行setenforce 0,此操作只对本次生效,如果想持续性生效,请执行下面的持久性配置修改配置文件
# 执行
[root@nangy-vm nangy]$ setenforce 0
# 查询状态
[root@nangy-vm nangy]$ getenforce
Permissive
  • 持久性配置
    如果想要在重启服务器以后仍然生效,请修改配置文件/etc/selinux/config
    SELINUX=enforcing 改为 SELINUX=permissive
[nangy@nangy-vm ~]$ sudo vim /etc/selinux/config

# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
# SELINUX=enforcing
SELINUX=permissive
# SELINUXTYPE= can take one of three values:
#     targeted - Targeted processes are protected,
#     minimum - Modification of targeted policy. Only selected processes are protected. 
#     mls - Multi Level Security protection.
SELINUXTYPE=targeted 

参考文章:SELinux之于MySQL 或者 一文彻底明白linux中的selinux到底是什么

至此,Yum平台在线安装卸载MySQL写完了,如有遗漏或Bug,欢迎吐槽


二、Apt(Debain、Ubuntu)

1. Apt安装

1.1. 安装仓库源config

  1. 将MySQL APT仓库添加到系统的仓库列表中
    你可以从 http://dev.mysql.com/downloads/repo/apt/ 下载MySQL APT仓库;
    或者 复制链接位置并使用wget直接将其下载到服务器上,
    你可能需要安装wget(sudo apt install wget) :
# nangy @ nangy-vm in ~/Downloads [23:06:39] 
$ wget https://dev.mysql.com/get/mysql-apt-config_0.8.13-1_all.deb
  1. 命令安装下载的发行包
# nangy @ nangy-vm in ~/Downloads [23:06:48] 
$ sudo gdebi mysql-apt-config_0.8.13-1_all.deb 

安装过程会提示选择系统版本,我用的deepin15.10.2,基于Debain9的发行版本
所以选择debain stretch【Debian 发行版本
在这里插入图片描述

  • 我自己学习就选的mysql-8.0,里面也可以选集群模式或者Other version
  • MySQL工具 & 连接器:启用
  • MySQL预览包:禁用
    在这里插入图片描述
  • 如果你想更改发行版本
# nangy @ nangy-vm in ~/Downloads [0:28:02] 
$ sudo dpkg-reconfigure mysql-apt-config
  1. 安装完验证
    /etc/apt/sources.list.d目录下会生成mysql的仓库源config配置mysql.list
# nangy @ nangy-vm in ~/Downloads [23:30:53]
$ cat /etc/apt/sources.list.d/mysql.list 
### THIS FILE IS AUTOMATICALLY CONFIGURED ###
# You may comment out entries below, but any other modifications may be lost.
# Use command 'dpkg-reconfigure mysql-apt-config' as root for modifications.
deb http://repo.mysql.com/apt/debian/ stretch mysql-apt-config
deb http://repo.mysql.com/apt/debian/ stretch mysql-8.0
deb http://repo.mysql.com/apt/debian/ stretch mysql-tools
#deb http://repo.mysql.com/apt/debian/ stretch mysql-tools-preview
deb-src http://repo.mysql.com/apt/debian/ stretch mysql-8.0

1.2. 安装MySQL

  1. 更新MySQL APT仓库包信息(此步骤是必需的
    如果不更新,安装还是历史旧版本
# nangy @ nangy-vm in ~/Downloads [23:31:51] 
$ sudo apt update 
  1. 安装MySQL社区版
    在安装过程中,你需要为root用户设置初始登录密码
    请务必牢记密码;如果忘记了密码,则必须重置root密码;
    这一步将安装MySQL Server,以及客户端和数据库公共文件的软件包
# nangy @ nangy-vm in ~/Downloads [23:42:10] 
$ sudo apt install mysql-community-server 
  1. 验证包
    ii 表示软件包己安装
# nangy @ nangy-vm in ~/Downloads [23:47:30] 
$ dpkg -l | grep -i mysql
ii  mysql-apt-config                              0.8.13-1                                     all          Auto configuration for MySQL APT Repo.
ii  mysql-client                                  8.0.16-2debian9                              amd64        MySQL Client meta package depending on latest version
ii  mysql-common                                  8.0.16-2debian9                              amd64        Common files shared between packages
ii  mysql-community-client                        8.0.16-2debian9                              amd64        MySQL Client
ii  mysql-community-client-core                   8.0.16-2debian9                              amd64        MySQL Client Core Binaries
ii  mysql-community-server                        8.0.16-2debian9                              amd64        MySQL Server
ii  mysql-community-server-core                   8.0.16-2debian9                              amd64        MySQL Server Core Binaires
  1. 启动停止MySQL
# 启动
# nangy @ nangy-vm in ~/Downloads [23:42:10] 
$ sudo service mysql start

# 停止
# nangy @ nangy-vm in ~/Downloads [23:42:10] 
$ sudo service mysql stop

# 重启
# nangy @ nangy-vm in ~/Downloads [23:42:10] 
$ sudo service mysql restart
  1. 查看状态
# nangy @ nangy-vm in ~/Downloads [9:11:37] 
$ sudo service mysql status
[sudo] nangy 的密码:
● mysql.service - MySQL Community Server
   Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled)
   Active: "active (running)" since Tue 2019-07-16 07:56:19 CST; 1h 16min ago
     Docs: man:mysqld(8)
           http://dev.mysql.com/doc/refman/en/using-systemd.html
  Process: 5094 ExecStartPre=/usr/share/mysql-8.0/mysql-systemd-start pre (code=exited, status=0/SUCCESS)
 Main PID: 5196 (mysqld)
   Status: "SERVER_OPERATING"
    Tasks: 41 (limit: 19660)
   CGroup: /system.slice/mysql.service
           └─5196 /usr/sbin/mysqld

7月 16 07:54:50 nangy-vm systemd[1]: Starting MySQL Community Server...
7月 16 07:56:19 nangy-vm systemd[1]: Started MySQL Community Server.

2. 登录MySQL

请参考:Linux - MySQL 8.0(二)基本操作:远程连接(Yum、Apt)

# nangy @ nangy-vm in ~/Downloads [23:47:52] 
$ mysql -uroot -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 8.0.16 MySQL Community Server - GPL

Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
4 rows in set (0.00 sec)

3. Apt卸载

  1. 检查是否有任何现有的包
# nangy @ nangy-vm in ~/Downloads [00:00:30] 
$ dpkg -l | grep -i mysql
  1. 使用以下命令删除包
  • 若想谨慎点话,卸载指定包
sudo apt autoremove --purge mysql-client mysql-common mysql-community-client mysql-community-client-core mysql-community-server mysql-community-server-core
  • 或者,如不想麻烦的话,使用通配符(慎用,除非你知道你在干啥
# nangy @ nangy-vm in ~/Downloads [23:57:54] 
$ sudo apt autoremove --purge mysql-\*
  1. 选择是否移除数据文件
    在这里插入图片描述

至此,Apt平台在线安装卸载MySQL写完了,如有遗漏或Bug,欢迎吐槽

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值