无情风暴

导航

公告

统计

Centos7 安装mysql-8.0.13(rpm)

1、前言

  当前MySQL最新版本:8.0.13 (听说比5.7快2倍)

  官方之前表示:MySQL 8.0 正式版 8.0.11 已发布,MySQL 8 要比 MySQL 5.7 快 2 倍,还带来了大量的改进和更快的性能!

  开源中国介绍文档:MySQL 8.0 正式版 8.0.11 发布:比 MySQL 5.7 快 2 倍

2、获取MySQL最新版 rpm包 集合 的下载地址(获取最新版MySQL下载地址方法)

    MySQL下载页面:https://dev.mysql.com/downloads/mysql/8.0.html

    

    我是CentOS系统 所以 我选择了 Red Hat。

    

    第一个为一个 tar归档包,里面是 后面所有 rpm 的打包(仔细看后面都是rpm 结尾的)

    点击右边Download

    

    这就是最新版 MySQL资源链接 :https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.13-1.el7.x86_64.rpm-bundle.tar

yum or rpm?

yum安装方式很方便,但是下载mysql的时候从官网下载,速度较慢。
rpm安装方式可以从国内镜像下载mysql的rpm包,比较快。rpm也适合离线安装。

环境说明

  • 操作系统:Centos7.5 (CentOS-7-x86_64-DVD-1804.iso)
  • mysql:mysql8.0.13
  • 卸载系统自带的mariadb-lib

  • 查看mariadb版本
    rpm -qa|grep mariadb
    mariadb-libs-5.5.56-2.el7.x86_64
  • 卸载mariadb
    rpm -e mariadb-libs-5.5.56-2.el7.x86_64 --nodeps

查看/安装依赖环境

yum install -y openssl-devel.x86_64 openssl.x86_64 
yum install -y libaio.x86_64 libaio-devel.x86_64 
yum install -y perl.x86_64 perl-devel.x86_64 
yum install -y perl-JSON.noarch 
yum install -y autoconf 
yum install -y wget
yum install -y net-tools

关闭防火墙

systemctl stop firewalld.service
systemctl disable firewalld.service

禁用selinux

vi /etc/selinux/config
SELINUX=enforcing改为SELINUX=disabled
reboot 重启机器

从网易镜像下载mysql安装包集合

  • 下载完整安装包并解压
wget https://mirrors.163.com/mysql/Downloads/MySQL-8.0/mysql-8.0.13-1.el7.x86_64.rpm-bundle.tar
tar -xvf mysql-8.0.13-1.el7.x86_64.rpm-bundle.tar
  • 下载必要安装包(二选一)
wget https://mirrors.163.com/mysql/Downloads/MySQL-8.0/mysql-community-common-8.0.13-1.el7.x86_64.rpm
wget https://mirrors.163.com/mysql/Downloads/MySQL-8.0/mysql-community-libs-8.0.13-1.el7.x86_64.rpm
wget https://mirrors.163.com/mysql/Downloads/MySQL-8.0/mysql-community-client-8.0.13-1.el7.x86_64.rpm
wget https://mirrors.163.com/mysql/Downloads/MySQL-8.0/mysql-community-server-8.0.13-1.el7.x86_64.rpm

按顺序安装

  • 必要安装(注意顺序)
  • 安装common
  • 安装lib 依赖于common,确保已经卸载mariadb
  • 依赖于libs
  • 依赖于client、common
rpm -ivh mysql-community-common-8.0.13-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-8.0.13-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-8.0.13-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-8.0.13-1.el7.x86_64.rpm
  • 非必要安装(注意顺序)
rpm -ivh mysql-community-libs-compat-8.0.13-1.el7.x86_64.rpm
rpm -ivh mysql-community-embedded-compat-8.0.13-1.el7.x86_64.rpm
rpm -ivh mysql-community-devel-8.0.13-1.el7.x86_64.rpm
rpm -ivh mysql-community-test-8.0.13-1.el7.x86_64.rpm

初始化数据库

mysqld --initialize --console

目录授权,否则启动失败

chown -R mysql:mysql /var/lib/mysql/

启动服务

systemctl start mysqld

加密

mysql_secure_installation

其他

其他操作和yum安装方式一样,不再重复。

、开始安装

    1、当中会遇到的问题

      1、mysql-community-libs .... 这两个包安装不上。

        原因:我们在Linux系统中,如果要使用关系型数据库的话,基本都是用的mysql。

        而且以往7以下版本的centos系统都是默认的集成有mysql。

        然而对于现在最新的centos7系统来说,已经不支持mysql数据库,它默认内部集成了mariaDB。

        如果我们想要使用 mysql 的话,就要先将原来的mariaDB卸载掉,不然会引起冲突。

        解决方案:卸载maridb (rpm 不会卸载软件的 自行百度)

        查看安装的 mariaDB:rpm -qa | grep mariadb

        卸载:rpm -e ***(*** 为软件名)

        如果不能卸载则即可:rpm -e --nodeps ***(*** 为软件名)

      2、缺少依赖包 libaio

        libaio.so.1()(64bit) is needed by MySQL-server 问题

        直接实用yum包管理工具安装即可:yum install libaio

     2、使用 rpm -vih XXXXXX(XXXXXX 为 rpm包全名)

      按照依赖顺序依次安装(能安装的安装就行,像test这个不方便安装就算了。)

      mysql-community-common-8.0.13-1.el7.x86_64

      mysql-community-libs-8.0.13-1.el7.x86_64

      mysql-community-libs-compat-8.0.13-1.el7.x86_64

      mysql-community-client-8.0.13-1.el7.x86_64

      mysql-community-embedded-compat-8.0.13-1.el7.x86_64

      mysql-community-server-8.0.13-1.el7.x86_64

   7、启动MySQL服务,并设置root密码

    1、启动mysql服务

      service mysqld restart

    2、初次安装mysql,root账户没有密码。
复制代码
[root@izuf6 tmp]# mysql -u root
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 15
Server version: 8.0.13 MySQL Community Server - GPL

Copyright (c) 2000, 2018, 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 |
| test               |
+--------------------+
rows in set (0.01 sec)

mysql>
复制代码

    设置密码:

mysql> set password for 'root'@'localhost' =password('password');
Query OK, 0 rows affected (0.00 sec)

mysql> 

    不需要重启数据库即可生效。

    3、使用样例

  6、MySQL一些骚炒作

复制代码
-- 登录sys数据库
mysql -u root -proot sys

-- 查看所有的数据库
select database()

-- 查看数据库
show databases;

-- 模糊查询包含y的数据库
show databases like '%y%';

-- 查看表
show tables;

--模糊查询包含user的表
show tables like '%user%';

-- 查看列, 查看user表信息
desc user;

-- 查看username用户被赋予的权限
show grants for username;
复制代码

posted on 2018-12-04 11:34 无情风暴 阅读(...) 评论(...) 编辑 收藏