前言

前天按照Oracle上的文档装了一遍mysql,选了最新8.0的版本,后来出现一些问题,网上搜答案,出来的基本还是5.x版本的解决方案,并不适用8.0版本。然后我就去看了一下公司的正式环境买的阿里云rds版本,5.7。既然如此,重新装一下5.7保持和正式环境一致是必须的了。但,我突然就有点好奇,为什么当时没有装6.0 或者7.0版本,毕竟跨了2个大版本。更奇怪的是,看了一下mysql的官方文档的版本列表,发现也没有6.0 or 7.0的文档。

这下就好玩了,为什么没有6.x,7.x。

网上搜了一下。

大意就是,6因为一些性能问题一下子没起来。然后Oracle收购了Sun,停止的6的开发,然后7相关的功能统一合并到了8里面去。所以,8就成了最新的重要版本。

言归正传

文档地址,注意是5.7版本。


安装部分

可以分为以下几步:

  • 卸载之前的
  • 安装新的
  • 启动服务
  1. 卸载之前的版本。yum erase mysql

  2. 选y,完成

  3. 完成之后检查一下 /etc/my.cnf/etc/mysql如果还是存在,需要手动删除。发现多了一个my.cnf.rpmsave,rpm帮忙保存的,我们这里也不需要,可以直接删除。

  4. libaio是mysql的一个依赖项,可以先装一下(不过上次安装8.0的时候没有装,应该会自动装的)。 libnuma是mysql中NUMA功能的一个依赖项,也一起先手动装一下算了。

    yum install libaio
    yum install libnuma
  5. 通过地址根据自己的系统,选择自己需要的版本,我系统是centos7.5,所以选el7。 通过wget https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm下载到服务器上,保存地址随意。虽然名字是mysql80,这个只是表示默认启用的是8.0版本,里面其实包含好几个版本,后面可以配置启用的具体版本。

  6. sudo yum localinstall mysql80-community-release-el7-1.noarch.rpm先安装rpm配置。

  7. yum repolist enabled | grep "mysql.*-community.*"看下是否已经添加成功。

  8. 出来的还是8.0的版本,下面配置一下禁用8.0,启用5.7。

    sudo yum-config-manager --disable mysql80-community
    sudo yum-config-manager --enable mysql57-community
  9. 再看一下yum启用的版本情况. yum repolist enabled | grep "mysql.*-community.*"

  10. 然后就可以安装了。 sudo yum install mysql-community-server,报了一个错。需要5.7版本的common,安装的确是8.0版本的common。

  11. 上面的问题应该有两种选择

    1. 删除安装的8.0的common
    2. 使用提示的--skip-broken参数配置来解决
  12. 先试一下第一种。yum erase mysql-community-common删除完成。重新尝试安装。sudo yum install mysql-community-server。没有报错,按y继续安装。done。

  13. 启动服务。centos7推荐使用systemctl start mysqld.service。哈哈,失败了~~

  14. 如果是全新安装应该是不会有问题的,根据提示看下错误情况。

  15. 根据提示去搜一下原因。搜了一下,是由于原先装过8.0,然后创建了数据导致的,这里直接删掉就可以了。然后启动服务,没有报错。

  16. 看一下服务状态sudo systemctl status mysqld.service,running。


设置部分

分为以下几个部分:

  • 设置root用户密码
  • 创建用户,设置密码,分配权限。
  • 配置远程连接。
  1. mysql 服务第一次启动,会自动做以下几件事情.

    1. 启动服务。
    2. 在数据目录(/var/lib/mysql)生成ssl证书和秘钥文件
    3. 安装并启用validate_password插件。这个插件默认启用,他要求密码至少8位,并且要求有一个大写,一个小写,一个数字,以及一个特殊字符。
    4. 创建了'root'@'localhost'这个用户,密码存到/var/log/mysqld.log中。
  2. 查看一下密码。sudo grep 'temporary password' /var/log/mysqld.log

  3. 通过临时密码登录,然后修改临时密码。mysql -u root -p

  4. 修改成功。用新密码登录然后试试语句是否可以执行。没有问题。

  5. 登录mysql然后创建一个用户用于远程登录。CREATE USER 'root1'@'%' IDENTIFIED WITH mysql_native_password BY 'xxxxxxxxxx'; 。%表示任意地址可以连接。xxx是具体的密码,要符合上面的密码规则。密码的验证方式是mysql_native_password。

  6. 下面分配权限.grant all privileges on *.* to 'root1'@'%'把所有权限分配给root1用户。第一个星号表示数据库名。所以一般来说可以先用root创建一个数据库,然后把这个库的所有权限分配给用户root1.分配了之后要刷新一下权限配置。FLUSH PRIVILEGES

  7. 创建好之后,mysql默认用的3306端口,所以要开启一下服务器的3306端口防火墙。firewall-cmd --zone=public --add-port=3306/tcp --permanent,如果提示FirewallD is not running表示防火墙服务器没有启动,可以按需要启用与否。然后需要重新加载一下防火墙配置。firewall-cmd --reload

  8. 本地端口启用之后,需要设置阿里云的安全组规则。

  9. 然后试试是不是可以远程连上,这里用dbeaver,跨平台,安利一下~

  10. 连接上试试查询,建表之类的操作,成功。

大功告成。

centos通过yum安装mysql的更多相关文章

  1. centos使用yum安装mysql

    参考:http://dev.mysql.com/doc/mysql-yum-repo-quick-guide/en/ 1.增加yum数据源 (1.1)从http://dev.mysql.com/dow ...

  2. centos 7 yum 安装 mysql glib 安装 mysql

    centos 7 YUM 在线安装版 1.wget http://repo.mysql.com/mysql57-community-release-el7-10.noarch.rpm 下载 2.rpm ...

  3. 腾讯云服务器centos通过yum安装mysql数据库

    安装mysql有两种: 1-可以使用yum安装, 2-可以自己下载安装包安装mysql, 腾讯云的centos系统自带了yum,所以用yum安装方便点 安装步骤 1-查看yum源中是否有mysql y ...

  4. 阿里云,CentOS下yum安装mysql,jdk,tomcat

    首先说明,服务器是阿里云的,centos6.3_64位安全加固版.首先需要登陆进来,使用的是putty,因为最初的时候,Xshell登陆会被拒绝. 0. 创建个人文件夹 # 使用 yum 安装tomc ...

  5. CentOS下yum安装mysql,jdk以及tomcat

    首先说明,服务器是阿里云的,centos6.3_64位安全加固版.首先需要登陆进来,使用的是putty,因为最初的时候,Xshell登陆会被拒绝. 0. 创建个人文件夹 # 使用 yum 安装tomc ...

  6. 【Centos】yum安装MySQL

    安装步骤 1. 点击此处下载MySQL的YUM源 -- [ MySQL RPM] 选择适合你平台的rpm,我的是centos7 2. 安装MySQL的yum源,即RPM sudo yum locali ...

  7. CentOS用yum安装MySQL 8.0 .

    先说一句,fuck,搞了一下午. 步骤:一:安装yum源: 1.wget https://dev.mysql.com/get/mysql80-community-release-el6-3.noarc ...

  8. CentOS下yum安装mysql

    其实跟windows下安装过程差别不大,就是下载为了方便使用了yum的方式.安装前先确认下系统是否还安装mysql,卸载是否不完全,再去官网(http://dev.mysql.com/download ...

  9. centos 使用yum安装MySQL 5.7

    想在centos上安装一个MySQL,使用yum install mysql-server 安装提示仓库没有包,也是醉了. 找了很多博客,发现一个很好用的,推荐给大家. 地址:https://blog ...

随机推荐

  1. 从Java继承类的重名static函数浅谈解析调用与分派

    在java中,static成员函数是否可以被重写呢? 结论是,你可以在子类中重写一个static函数,但是这个函数并不能像正常的非static函数那样运行. 也就是说,虽然你可以定义一个重写函数,但是 ...

  2. 使用jquery 的ajax 与 Java servlet的交互

    由于是使用jquery的 所以别忘记导入jq 下面是jsp文件 <%@ page language="java" contentType="text/html; c ...

  3. java IO流全面总结

    流的概念和作用 流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象.即数据在两设备间的传输称为流,流的本质是数据传输,根据数据传输特性将流抽象为各种类,方便更直观的进行数据操作. Ja ...

  4. 补习系列(20)-大话 WebSocket 与 "尬聊"的实现

    目录 一.聊聊 WebSocket 二.Stomp 是个什么鬼 三.SpringBoot 整合 WebSocket A. 引入依赖 B. WebSocket 配置 C. 控制器 D. 前端实现 四.参 ...

  5. 广州站长沙龙 MIP 问题及答案

    1. mip提交几个月时间了,生效量比较少,是什么原因? 答:提交 MIP 页面后,经过收录.校验.和生效三个步骤,才能在结果页看到闪电标. 1)提交 URL 后,spider 会去抓取收录: 2)页 ...

  6. window.history.back(-1);与window.go(-1);的区别

    history.back(-1):直接返回当前页的上一页,数据全部消息,是个新页面 history.go(-1):也是返回当前页的上一页,不过表单里的数据全部还在 history.back(1) 前进 ...

  7. LVM 移除PV步骤

    1.先查看需要收缩文件系统的使用情况,收缩后的文件系统空间不能小于已经使用的空间 df -hT 2.卸载需要收缩的文件系统(以/dev/vg0/lvm1为例) umount /dev/vg0/lvm1 ...

  8. jdk源码阅读笔记-ArrayList

    一.ArrayList概述 首先我们来说一下ArrayList是什么?它解决了什么问题?ArrayList其实是一个数组,但是有区别于一般的数组,它是一个可以动态改变大小的动态数组.ArrayList ...

  9. vue中的 ref 和 $refs

    如图,ref 被用来给元素或子组件注册引用信息.引用信息将会注册在父组件的 $refs 对象上.如果在普通的 DOM 元素上使用,引用指向的就是 DOM 元素:如果用在子组件上,引用就指向组件实例: ...

  10. asp.net core系列 44 Web应用 布局

    一.概述 MVC的视图与Razor页面经常共享视觉和程序元素,通过使用布局来完成,布局还可减少重复代码.本章演示了以下内容的操作方法:(1)使用通用布局,(2)自定义布局,(3) 共享指令,(4)在呈 ...