• centos7安装mysql8


    1.安装前清理

      1.1. 清理原有数据库
        1.1.1. 清理软件包
          使用 “rpm -pa | grep mysql” 查看原有的软件包和依赖包,将结果使用 “yum remove 包名”逐一删除。
        1.1.2. 清理配置
          使用“find / -name mysql”查看所有mysql配置,将结果使用“rm -rf 文件名”逐一删除。
      1.2. 删除 mariadb 文件
        由于MySQL在CentOS7中收费了,所以已经不支持MySQL了,取而代之在CentOS7内部集成了mariadb,而安装MySQL的话会和MariaDB的文件冲突,所以需要先卸载掉MariaDB.
        查看:rpm -qa | grep mariadb
        可能结果:mariadb-libs-5.5.56-2.el7.x86_64
        删除:rpm -e mariadb-libs-5.5.56-2.el7.x86_64
        如果出错,则使用强制删除:rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64
    2. 下载安装包
      centos的yum 源中默认是没有mysql的,所以我们需要先去官网下载mysql的repo源并安装;
      2.1. 访问官网,查看最新安装包
        https://dev.mysql.com/downloads/repo/yum/
      2.2. 选择版本,点击“download”

        

      2.3. 登录
        如果是未登录状态,会要求登录。此时会跳转到 oracle 单点登录页面,登录自己的 oracle 账号即可(没有账号就注册一个,现在下载 oracle 的产品都需要登录,比如 jdk)
      2.4. 登录后回到上述页面,右键选择的版本对应的download按钮,点击“复制链接地址菜单项”
      2.5. 登录Linux服务器,进入到某个目录(如 /usr/local/src),使用 wget 下载源安装包
        wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm

    3. 安装mysql源
      3.1. 安装 yum repo 文件
        rpm -ivh mysql80-community-release-el7-3.noarch.rpm
        执行结果会在/etc/yum.repos.d/目录下生成两个repo文件mysql-community.repo mysql-community-source.repo

          

      3.2. 更新yum缓存
        yum clean all

          

        yum makecache

          

    4. 安装mysql服务器
      4.1. 选择版本
        当我们在使用yum安装mysql时,yum默认会从yum仓库中安装mysql最新的GA版本;如何选择自己的版本;
        4.1.1. 查看mysql yum仓库中mysql版本,使用如下命令
          yum repolist all | grep mysql

            

          可以看到mysql8是可用的,其它是禁用的,我正好是需要安装mysql8,所以不用管了。如果想要安装其它版本可以修改

        4.1.2. 修改禁用启用规则
          yum-config-manager --enable mysql57-community
          如果命令无效,可以直接编辑 mysql repo

            

      4.2. 安装mysql服务
        yum install mysql-community-server

        中间有需要确认的步骤就一直 “y” 就行了。

        

        

    5. 启动服务,测试连接
      启动:systemctl start mysqld.service
      停止:systemctl stop mysqld.service
      重启:systemctl restart mysqld.service
      查看服务状态:systemctl status mysqld.service
    6. 修改初始密码
      6.1. 查看初始密码
        mysql在安装后会创建一个root@locahost账户,并且把初始的密码放到了/var/log/mysqld.log文件中;
        查看:cat /var/log/mysqld.log

        

        初始登录密码只能用于登录mysql,不能进行其它操作。会强制要求用户修改密码。

      6.2. 修改初始密码

        使用初始密码登录:mysql -uroot -p

        如果不修改,则任何操作时会提示如下错误:

          You must reset your password using ALTER USER statement before executing this statement.

        修改方式是登录后使用以下语句

          ALTER USER USER() IDENTIFIED BY '新密码'

        值得注意的是,新密码必须符合安全策略(就是足够复杂,mysql8的默认安全策略级别是 中等,像123456这些肯定是过不了的),否则会提示如下错误:

          ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

        修改成功之后我们可以看一下mysql服务器的密码安全策略等级:SHOW VARIABLES LIKE 'validate_password%',结果如下:

          

    7. 允许远程登录

      mysql8安装完成之后,root用户只允许本地登录远程登录会报错:

        ERROR 1130 (HY000): Host 'xxx(ip)' is not allowed to connect to this MySQL server

      放开远程权限的方法是登录之后,执行

        use mysql;

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

        flush privileges;

    8. 修改密码加密方式

      经过 7. 之后,发现远程还是不能登录,但是报错有所不同了:

        Authentication plugin 'caching_sha2_password' cannot be loaded: /usr/lib64/mysql/plugin/caching_sha2_password.so: cannot open shared object file: No such file or directory

      这是因为mysql7之后,默认的密码加密方式更改了,但是你使用的客户端没有升级,不支持此种加密方式,解决方法是更改服务器加密方式为传统加密方式或者升级客户端。如果是新项目建议使用第二种,毕竟新的肯定更好。如果是存量项目的数据库迁移或者升级,考虑到兼容问题和稳定性,建议使用第一种。

      修改加密方式为本地登录之后执行:

        ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '新密码';

      至此,mysql服务已经可以使用了。

    9. 修改默认服务端口

      mysql默认端口号是 3306。一般线上数据库,出于安全考虑,都会修改默认端口号。

      9.1. 编辑“/etc/my.cnf”文件

        vi /etc/my.cnf

      9.2. 添加行

        port=新端口;

      9.3. 重启mysql服务

        systemctl restart mysqld.service

    完!

  • 相关阅读:
    *HDU2473 并查集
    *HDU3172 并查集
    *cf.4 贪心
    *HDU3635 并查集
    *HDU1325 并查集
    *HDU1829 并查集
    Node.js 学习笔记二
    Node.js 学习笔记 一
    AngularJS 学习笔记 一
    MongoDB 基础知识二
  • 原文地址:https://www.cnblogs.com/coding-one/p/11698271.html
Copyright © 2020-2023  润新知