开始,我默认安装了MySQL8,但是在测试的时候发现通过Hibernate连接之前的MySQL5.7的代码运行在连接新版本的库的时候发生异常,出于时间原因没有深度排查

但是我严重怀疑是版本匹配问题,为了能够快速使用,我选择回退到之前的5.7

整个经历:

安装默认的MySQL8

添加MySQL Yum存储库

https://dev.mysql.com/downloads/repo/yum/

进入这个网站下载默认给的版本8文件

上传到服务器,当然也可以复制URL,使用wget进行下载

安装下载的发行包

rpm -Uvh mysql80-community-release-el7-1.noarch.rpm

然后进行安装

yum install mysql-community-server

根据提示输入 y  并等待下载与安装

安装完成

启动服务以及查看服务是否启动成功

systemctl start mysqld.service
systemctl status mysqld.service

出现active(running)表示服务启动成功

之后可以在设置服务开机启动(不过基本都是默认开机启动的)

systemctl enable mysqld

systemctl daemon-reload

如何完全拆卸MySQL8

rpm -qa |grep -i mysql

查看已经安装的MySQL(我这里已经是安装好5.7版本的情况了)

基本会显示五个

使用命令进行拆卸

yum remove mysql-community mysql-community-server mysql-community-libs mysql-community-common mysql80-community-release

拆卸完成后再使用

rpm -qa |grep -i mysql

进行检查,此时应该没有任何输出

再查看下拆卸残留的配置等

find / -name mysql

全部使用删除命令删除这些文件,如果不删除当安装其他版本的时候,会存在配置不匹配等问题无法启动服务

rm -rf 文件名

无法启动的示例

至此,MySQL就完全拆卸完成了


安装5.7的版本(你需要的版本)

首先使用下面的命令查看所有可用版本(下图中显示的是我已经禁用了8并开启了5.7的情况)

yum repolist all | grep mysql

如何禁用8并开启其他版本:

官网上给出可以执行命令

yum-config-manager --disable mysql80-community
yum-config-manager --enable mysql57-community

但是我在执行时报语法错误

还有另外一种方法:直接修改配置文件

vim /etc/yum.repos.d/mysql-community.repo 
# Enable to use MySQL 5.5
[mysql55-community]
name=MySQL 5.5 Community Server
baseurl=http://repo.mysql.com/yum/mysql-5.5-community/el/7/$basearch/
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql # Enable to use MySQL 5.6
[mysql56-community]
name=MySQL 5.6 Community Server
baseurl=http://repo.mysql.com/yum/mysql-5.6-community/el/7/$basearch/
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql # 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=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
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql [mysql-connectors-community]
name=MySQL Connectors Community
baseurl=http://repo.mysql.com/yum/mysql-connectors-community/el/7/$basearch/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql [mysql-tools-community]
name=MySQL Tools Community
baseurl=http://repo.mysql.com/yum/mysql-tools-community/el/7/$basearch/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql [mysql-tools-preview]
name=MySQL Tools Preview
baseurl=http://repo.mysql.com/yum/mysql-tools-preview/el/7/$basearch/
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql [mysql-cluster-7.5-community]
name=MySQL Cluster 7.5 Community
baseurl=http://repo.mysql.com/yum/mysql-cluster-7.5-community/el/7/$basearch/
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql [mysql-cluster-7.6-community]
name=MySQL Cluster 7.6 Community
baseurl=http://repo.mysql.com/yum/mysql-cluster-7.6-community/el/7/$basearch/
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql

其中的

enabled=0表是禁用,=1表示开启

修改后保存并退出,再查看下被开启的版本

yum repolist enabled | grep mysql

现在可以使用安装MySQL的命令进行安装了......

安装完成,同样的命令启动服务并查看状态

至此MySQL5.7安装成功


使用MySQL

新安装的MySQL为了安全问题,它给了临时密码在  /var/log/mysqld.log  中,现在来查看下临时密码

grep 'temporary password' /var/log/mysqld.log

现在来登陆

mysql -uroot -p

前两个密码是本次不可用的,因为之前我的安装启动失败的时候信息写入日志,我重新安装的时候没有清空日志导致过滤得到的会有之前密码信息

最后一个终于成功登陆了

修改密码

ALTER USER 'root'@'localhost' IDENTIFIED BY '你的密码';

密码默认要求

MySQL的validate_password插件默认安装。 这将要求密码包含至少一个大写字母,一个小写字母,一个数字和一个特殊字符,并且密码总长度至少为8个字符。

可以通过修改validate_password_policy来设定密码的复杂度要求(百度吧),我就设置了一个满足强度要求的密码了

现在查看下默认的库

show databases;

最后一步,授权其他主机可以远程登陆

先查看下权限

现在是只有本机可以登陆

我是通过修改库表的信息来授权的

update user set host = '%' where user = 'root';

%代表的就是所有主机

之后需要刷新一下

FLUSH PRIVILEGES;

还有通过命令

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;

这里我没有尝试,在版本8的时候是不可行的,不过在5.7有可能还能使用

尝试远程登陆下,连接成功而且新建了一个测试的库new_test

大功告成......


Centos7服务器中安装MySQL(选择一个你想要的版本)的更多相关文章

  1. 在 Docker 的 CentOS7 镜像 中安装 mysql

    在 Docker 的 CentOS7 镜像 中安装 mysql 本来以为是个很简单的过程居然折腾了这么久,之前部署云服务器时也没有好好地记录,因此记录下. 特别提醒:本文的操作环境是在 Docker ...

  2. 如何在服务器中安装mysql 以及安装禅道

    安装mysql:以下命令在xshell 中输入: 1.卸载mysql :yum -y remove mysql* 2.查找mysql命名安装的所有文件: find / -name mysql  只能删 ...

  3. 如何在Lunix云服务器上安装Mysql进行远程连接

    说说这个服务器上安装mysql真是一个大坑啊 ! 我也不知道自己怎么心血来潮就买一个百度云服务器,然后就想着吧自己做的一些小项目都跑上去.嘿嘿...其实就是想显摆下,写点小应用给不是编程的朋友们使用 ...

  4. CentOS7服务器中apache、php7以及mysql5.7的安装配置代码

    CentOS7服务器中apache.php7以及mysql5.7的配置代码如下所示: yum upgradeyum install net-tools 安装apache (http://m.86822 ...

  5. centos7中安装mysql

    centos7中安装mysql网上已经很多资源了,我就不在赘述了.我这里只是记录下我安装的时候出现的一些问题. 原文:https://www.cnblogs.com/bigbrotherer/p/72 ...

  6. win7中安装mysql

    这篇文章主要介绍了如何在win7中安装mysql,所以加上了MySQL的下载过程,希望对需要的人有所帮助大家都知道MySQL是一款中.小型关系型数据库管理系统,很具有实用性,对于我们学习很多技术都有帮 ...

  7. Windows10系统的Linux子系统中安装MySQL数据库心得

    后端开发童鞋们, 自己开发机用的是Windows系统电脑(台式机或笔记本), 而开发的程序和使用的数据库等要运行在Linux服务器上, 这种情况有木有? 提前声明: 本文并不讨论操作系统的比较, 以及 ...

  8. 数据库服务器的安装 (MySQL Server 5.7) :

    MySQL 和 MariaDB 都是 Ubuntu 16.04 中的数据库服务器. MySQL Server 和 MariaDB Server的安装包都可以在Ubuntu 的默认软件源中找到,我们可以 ...

  9. centos7.4中安装docker

    #!/bin/sh # 安装docker # 在docker中安装mysql # 解决了docker容器中无法输入中文的问题 ##########################安装docker # ...

随机推荐

  1. Codeforces 438E The Child and Binary Tree [DP,生成函数,NTT]

    洛谷 Codeforces 思路 看到计数和\(998244353\),可以感觉到这是一个DP+生成函数+NTT的题. 设\(s_i\)表示\(i\)是否在集合中,\(A\)为\(s\)的生成函数,即 ...

  2. 金9银10,分享几个重要的Android面试题

    说一下java多态的理解,以及接继承,和接口的理解 于哥在这里只讲多态,其他自己上网体会 对于多态的定义不同类的对象对统一函数做出不同对的响应或者动作.作用主要是消除类之间的耦合性,灵活性比较强,利于 ...

  3. STM32L476应用开发之七:流量的PID控制

    在气体分析仪使用过程中,为了力求分析结果的准确性,一般要求通过的气体流量尽可能的稳定.为了保证流量控制的稳定,我们采用PID调节来控制气路阀门的开度. 1.硬件设计 我们采用的流量计为气体质量流量计, ...

  4. Oracle12c 从入门到精通(第二版) 闫红岩 金松河 编著

    声明:本文只是用于学习笔记使用.方便查询.若需要书本,请到书店购买. 本书封面 前言 第1章 Oracle数据库概述 1.1 Oracle数据库产品结构及组成 1.1.1 标准版 1.1.2 标准版 ...

  5. git码云上传本地项目

    可参考:https://blog.csdn.net/huangfei711/article/details/69388230 .在你的项目上鼠标右击点击Git bash git config --gl ...

  6. numpy:dot与multiply

    http://blog.csdn.net/iamzhangzhuping/article/details/52370241

  7. D3.js 使用缩放zoom时节点无法拖动,只能整体移动的问题

    .on("dragstart", function() { d3.event.sourceEvent.stopPropagation(); }) https://stackover ...

  8. AI-认证

    AI-认证 做登录验证 #models.py class Users(models.Model): user=models.CharField(max_length=32) pwd=models.Ch ...

  9. RabbitMQ在java中基础使用

    RabbitMQ相关术语:          1.Broker:简单来说就是消息队列服务器实体.          2.Exchange:消息交换机,它指定消息按什么规则,路由到哪个队列.      ...

  10. spring cloud 路由网关zuul基本使用

    在微服务架构中,需要几个关键的组件,服务注册与发现.服务消费.负载均衡.断路器.智能路由.配置管理等,由这几个组件可以组建一个简单的微服务架构.客户端的请求首先经过负载均衡(zuul.Ngnix),再 ...