zoukankan      html  css  js  c++  java
  • CentOS8 部署 MySQL8

    前言

    有来项目的数据库在此之前使用的是 Docker 部署的,具体可见文章 Docker 安装 MySQL8 ,服务器是阿里云 2C2G 的ECS轻量服务器,可能是配置问题有时不论查什么都要等很长很长时间,原因一直未明。网上也有相关资料说不推荐使用 Docker 跑数据库的,主要原因是IO和网络性能问题,可参考 你在 Docker 中跑 MySQL?恭喜你,好下岗了!,但是也有阿里、同程等使用容器部署数据库的案例,各执己见也没有个明确的结果,自己对这方面知之甚少所以不站队,因为没资格。

    再申明一下,慢的离谱的原因猜测是自己的配置和服务器的问题,和容器部署关系不大。本篇补充 yum部署 MySQL 是没有找到具体原因换种部署方式,同样写本篇的目的也是为了下一篇文章 Canal 数据同步做准备。

    卸载 MySQL

    如果已经安装请先卸载

    rpm -qa | grep -i mysql
    

    image-20211031102638712

    yum remove -y mysql*
    

    删除 MySQL 文件

    find / -name mysql
    

    安装 MySQL8

    官方下载地址 https://dev.mysql.com/downloads/repo/yum/

    根据操作系统选择对应的版本,我这里是 Centos8 选择第一个

    image-20211030234934183点击 Download 进入下载页面复制链接地址: https://repo.mysql.com//mysql80-community-release-el8-1.noarch.rpm

    下载源

    wget https://repo.mysql.com//mysql80-community-release-el8-1.noarch.rpm
    

    安装源

    yum localinstall mysql80-community-release-el8-1.noarch.rpm
    

    image-20211031010244097

    禁用 Centos 8 自带的 MySQL 模块

    yum module disable mysql
    

    安装 MySQL 服务

    yum install mysql-community-server
    

    启动 MySQL

    systemctl start mysqld
    

    查看 MySQL 状态

    systemctl status mysqld
    

    image-20211031013953137

    MySQL 开机自启

    systemctl enable mysqld
    systemctl daemon-reload
    

    MySQL 设置密码

    获取临时密码

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

    image-20211031014741920

    登录 MySQL

    mysql -uroot -pqvysykoyf4=R
    

    修改 MySQL 新密码 123456

    ALTER USER 'root' @'localhost' IDENTIFIED BY '123456';
    

    密码简单不满足密码策略

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

    查看当前密码策略

    SHOW VARIABLES LIKE 'validate_password%';
    

    降低密码策略

    set global validate_password.length=4;
    set global validate_password.special_char_count=0;
    set global validate_password.policy =LOW;
    

    image-20211031021256870

    MySQL 开放远程连接

    update user set host = '%' where user ='root';
    alter user 'root'@'%' identified by '123456' password expire never;
    alter user 'root'@'%' identified with mysql_native_password by '123456';
    flush privileges;
    

    image-20211031022847954

    短暂测试的效果查询没有出现像之前的容器部署 MySQL 出现查询非常久的问题。

  • 相关阅读:
    获取其他进程中StatusBar的文本
    TStringGrid多选的复制与拷贝
    常用数据结构
    数据结构及算法
    时间复杂度和空间复杂度详解
    算法的时间复杂度和空间复杂度
    新增并管理媒体资源
    Node.js与MongoDB的基本连接示例
    Web API 2:Action的返回类型
    快递查询组件
  • 原文地址:https://www.cnblogs.com/haoxianrui/p/15488810.html
Copyright © 2011-2022 走看看