zoukankan      html  css  js  c++  java
  • 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

    大功告成......


  • 相关阅读:
    基本技能训练之线程
    关于UEditor的使用配置(图片上传配置)
    PAT 乙级练习题1002. 写出这个数 (20)
    codeforces 682C Alyona and the Tree DFS
    codeforces 681D Gifts by the List dfs+构造
    codeforces 678E Another Sith Tournament 概率dp
    codeforces 680E Bear and Square Grid 巧妙暴力
    codeforces 678D Iterated Linear Function 矩阵快速幂
    codeforces 679A Bear and Prime 100 交互
    XTUOJ 1248 TC or CF 搜索
  • 原文地址:https://www.cnblogs.com/xinglichao/p/9999823.html
Copyright © 2011-2022 走看看