zoukankan      html  css  js  c++  java
  • mysql8.0.26 yum安装主从配置

    2021年10月16日15:38:04

    自从大部分公司都习惯使用云服务器之后,经常就直接使用rds数据库了,数据库自己配置,做主从,已经真的好久没自己做了,回想起来基本从2014,15年就基本没做过了

    这次配置之后发现很多变化,

    mysql版本8.0.26 centos7.9   8.x因为redhat问题,不在是lts版本,centos steam版本是滚动发新版本,有可能有安全性问题,这里注意了

    yum安装


    在MySQL官网中下载YUM源rpm安装包:https://dev.mysql.com/downloads/repo/yum/

    根据你的服务器版本,具体选择

    下载 rpm包
    wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
    安装
    yum install mysql80-community-release-el7-3.noarch.rpm
    yum数据更新 yum clean all yum makecache
    查看是否mysql可以安装的版本
    yum repolist all | grep mysql
    禁用mysql8.0 yum
    -config-manager --disable mysql80-community
    启动musql5.7 yum
    -config-manager --enable mysql57-community 查看repo文件内容
    cat
    /etc/yum.repos.d/mysql-community.repo
    安装数据库 yum install
    mysql-community-server
    启动数据库 systemctl start mysqld
    .service
    查看数据库
    
    vi /var/log/mysqld.log
    
    [Server] A temporary password is generated for root@localhost: yLd%fk8ALKfu
    
    这个是临时数据库密码

    登录
    mysql -uyida -p'yLd%fk8ALKfu'

     添加开启启动

    systemctl enable mysqld.service
    查看用书授权
    show grants for root
    查看数据库
    server_id

    show variables like 'server_id';

    吧默认存储数据的迁移的数据盘,这个很重要

    查看 mysql用户是否存在
    id mysql
    复制数据

    cp -rf /var/lib/mysql /data/
    修改用户
    chown
    -R mysql:mysql /data/mysql/

    重启一下mysql

    编译mysql配置

    vi /etc/my.cnf

    [mysql]
    default-character-set=utf8
    
    [mysqld]
    default-authentication-plugin=mysql_native_password
    port=8177
    
    datadir=/data/mysql
    socket=/data/mysql/mysql.sock
    log-error=/data/mysql/mysqld.log
    pid-file=/data/mysql/mysqld.pid
    
    character-set-server=utf8
    init_connect='SET NAMES utf8'
    default-storage-engine=InnoDB
    
    #binlog
    server-id=1001
    
    log-bin=mysql_master_bin
    log-bin-index=mysql_master_bin.index
    binlog_format=MIXED
    expire_logs_days=180
    max_binlog_size=100m
    binlog_cache_size=4m
    max_binlog_cache_size=512m
    
    gtid-mode=on
    log-slave-updates
    enforce-gtid-consistency
    
    binlog-ignore-db=sys
    binlog-ignore-db=mysql
    binlog-ignore-db=information_schema
    binlog-ignore-db=performance_schema
    binlog-do-db=test
    
    [client]
    port=8177
    default-character-set=utf8
    socket=/data/mysql/mysql.sock

    说明版本

    [mysql]
    #默认字符设置uft8,,注意这个不是utf8mb4 这个是引擎的的字符集
    default-character-set=utf8
    
    [mysqld]
    #默认授权加密方式
    default-authentication-plugin=mysql_native_password
    #服务
    port=8177
    
    #数据库存储数据路径
    datadir=/data/mysql
    #sock服务监听位置
    socket=/data/mysql/mysql.sock
    #错误日志
    log-error=/data/mysql/mysqld.log
    #pid文件
    pid-file=/data/mysql/mysqld.pid
    
    #字符集
    character-set-server=utf8
    #初始化连接的设置的字符集
    init_connect='SET NAMES utf8'
    #默认引擎
    default-storage-engine=InnoDB
    
    #binlog
    #服务器分区ID,不能重复 默认0或者
    server-id=1001
    
    #bin日志设置
    log-bin=mysql_master_bin
    #bin日志索引
    log-bin-index=mysql_master_bin.index
    #日志格式,建议MIXED
    binlog_format=MIXED
    #日志过期日期 单位
    expire_logs_days=180
    #单个bin日志最大
    max_binlog_size=100m
    #bin log缓存大小
    binlog_cache_size=4m
    #最大bin log缓存大小
    max_binlog_cache_size=512m
    
    #启用gtid类型,否则就是普通的复制架构
    gtid-mode=on
    #slave更新是否记入日志 从库作为其他的主库需要设置
    #log-slave-updates
    #强制GTID的一致性
    enforce-gtid-consistency
    
    #binlog忽略不同步的数据库,注意这个功能可能存在问题
    binlog-ignore-db=sys
    binlog-ignore-db=mysql
    binlog-ignore-db=information_schema
    binlog-ignore-db=performance_schema
    #执行同步的数据库,如果有新建数据库需要在这里新加入,直接复制一行
    binlog-do-db=test
    
    [client]
    #mysql-client 客户端连接服务器端口
    port=8177
    #默认字符集
    default-character-set=utf8
    #连接的socket
    socket=/data/mysql/mysql.sock

    注意以前的5.x,6.x和8.x参数区别有一些,无法完全参照,不是很详细的配置文件,仅供测试参考

    从库和主库差不多的配置

    [mysql]
    default-character-set=utf8
    
    [mysqld]
    default-authentication-plugin=mysql_native_password
    port=8177
    
    datadir=/data/mysql
    socket=/data/mysql/mysql.sock
    log-error=/data/mysql/mysqld.log
    pid-file=/data/mysql/mysqld.pid
    
    character-set-server=utf8
    init_connect='SET NAMES utf8'
    default-storage-engine=InnoDB
    
    #binlog
    server-id=1002
    
    log-bin=mysql_slave_bin
    log-bin-index=mysql_slave_bin.index
    binlog_format=MIXED
    expire_logs_days=180
    max_binlog_size=100m
    binlog_cache_size=4m
    max_binlog_cache_size=512m
    
    gtid-mode=on
    log-slave-updates
    enforce-gtid-consistency
    
    binlog-ignore-db=sys
    binlog-ignore-db=mysql
    binlog-ignore-db=information_schema
    binlog-ignore-db=performance_schema
    binlog-do-db=test
    
    [client]
    port=8177
    default-character-set=utf8
    socket=/data/mysql/mysql.sock

    创建专用的数据同步账号

    mysql> CREATE USER 'repl'@'192.168.199.198' IDENTIFIED WITH mysql_native_password BY 'Ron_master_1';
    mysql> GRANT REPLICATION SLAVE ON *.* TO 'repl'@'192.168.199.198';

    查看主库binlog文件和偏移地址

    show master status;

    建议:在开始同步的之前,配置好主从数据库,最好重启一下服务器,看下重启时候服务是否正常,避免很多麻烦事情

    设置从库同步

    change master to master_host='192.168.199.198', 
          master_user='repl', 
          master_password='Ron_master_1', 
          master_port=8177, 
          master_log_file='mysql_master_bin.000009', 
          MASTER_LOG_POS=196;

    开启同步

    start slave;
    QQ群 247823727 博客文件如果不能下载请进群下载
    如果公司项目有技术瓶颈问题,如有需要,请联系我,提供技术服务 QQ: 903464207
  • 相关阅读:
    Swift 面向对象解析(二)
    Swift 面向对象解析(一)
    iOS 动画笔记 (二)
    iOS 动画笔记 (一)
    UICollectionView 很简单的写个瀑布流
    MVC校验
    win8.1弹框
    Python开发之pip使用详解
    MySQL基础之数据类型和运算符
    网络爬虫之scrapy爬取某招聘网手机APP发布信息
  • 原文地址:https://www.cnblogs.com/zx-admin/p/15414380.html
Copyright © 2011-2022 走看看