• Centos7服务器中安装MySQL(选择一个你想要的版本)


    开始,我默认安装了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

    大功告成......


  • 相关阅读:
    JavaScript面试库
    JS事件委托的原理和应用
    缓存ABC
    网络模型探究
    持续集成配置之Nuget
    angular应用容器化部署
    微服务随想
    .NET性能优化小技巧
    博客园博客小优化
    Emmet 简介
  • 原文地址:https://www.cnblogs.com/xinglichao/p/9999823.html
Copyright © 2020-2023  润新知