zoukankan      html  css  js  c++  java
  • mysql主从复制

    环境
    windows: mysql 8.015

    centos7:mysql 5.7

    一、关闭防火墙

    linux :systemctl stop firewalld

    windows: 从windows安全中心关闭即可
    1149742938

    二、修改主机配置文件

    1、打开windows服务,找到mysql服务生效的配置文件的位置

    2006059029

    2、修改配置文件

    server-id=1 #服务器 id  主和从库不能就行,随便输入
    log-bin=G:/MySQL/mysql/logbin/mysql-bin #二进制文件存放路径
    binlog-do-db=dbtest #需要同步的数据库
    binlog-ignore-db=mysql #不需要同步的数据库
    

    3、重启mysql服务

    4、创建用户、赋予权限

    #创建用户
    CREATE USER 'slavetest'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
    #赋予权限
    GRANT REPLICATION SLAVE ON *.* TO 'slavetest'@'%'; 
    #生效
    flush privileges 
    

    5、查看master状态

    show master status;
    

    1982749194

    三、修改从机配置文件

    1、打开配置文件,配置server-id

    vim /etc/my.cnf
    #在配置文件里面添加
    server-id=2
    

    2、进入mysql

    #停止slave
    stop slave;
    #重置master
    reset slave;
    #设置slave
    change master to master_host='192.168.109.1',#主机ip
    master_user='slavetest',#用户名
    master_password='123456',#密码
    master_log_file='mysql-bin.000002',#show master status 中的File内容
    master_log_pos=155;#show master status 中的Position内容
    #启动slave
    start slave;
    #查看状态
    show slave statusG#不要加';',加';'会出现ERROR:No query specified
    

    3、查看从机状态

    #当下面两个参数都为Yes时,主从复制就搭好了
    Slave_IO_Running: Yes
    Slave_SQL_Running: Yes
    

    四、出现的错误

    1、Slave_IO_Running:connectioning

    首先查看日志文件cat /var/log/mysqld.log,出现错误Error_code: 2003,使用perror命令查看错误码信息,结果为ILLegal error code: 2003

    原因:发现主机防火墙并没有关闭

    解决:将防火墙关闭即可

    2、主从复制搭建成功,但是主机创建数据库,但从机没有建立

    查看日志文件,出现错误Last_Errno: 22Last_Error: Error 'Character set '#255' is not a compiled character ,继续查看错误码的信息,出现 OS error code 22: Invalid argument

    原因:低版本的mysql数据库没有高版本数据库的字符编码

    解决:

    #修改配置文件:mysql.ini
    [client]下添加
    default_character_set = utf8
    [mysql]下添加
    default_character_set = utf8
    [mysqld]下添加
    character_set_server = utf8
    #查看是否修改成功的方法:进入mysql,使用命令查看
    show variables like “%char%”;
    

    mysql低版本和高版本复制对应关系:低版本向高版本复制可以,但高版本向低版本复制会出现字符不匹配错误

    789368410

  • 相关阅读:
    java oop
    traceroute
    ping
    ICMP Internet控制报文协议
    window,centos双系统坏了
    bcm53344 gpio驱动分析
    ioctl参数cmd=2错误
    BCM_GPIO驱动测试
    C++ 类和对象
    C++ 内存管理
  • 原文地址:https://www.cnblogs.com/xlwq/p/12867445.html
Copyright © 2011-2022 走看看