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

    1、数据库版本保持一致,查看命令:select version(); linux下还可用命令:status;

    2、windows数据库为主机 192.168.1.103
    linux数据库为从机:192.168.240.101

    主机配置文件my.ini
    查看binlog是否开启:
    show variables like 'log_bin';
    设置主服务器唯一ID(必须)
    [mysqld]server-id=1
    启用二进制日志(必须)
    log_bin="C:ProgramDataMySQLMySQL Server 5.7logmysqlbin"
    启用错误日志(可选)
    log-err="C:ProgramDataMySQLMySQL Server 5.7logmysqlerr"
    根目录(可选)
    #basedir="C:/Program Files/MySQL/MySQL Server 5.7/"
    临时目录(可选)
    tmpdir="C:/Program Files/MySQL/MySQL Server 5.7/"
    主机读写都可以(可选)
    read-only=0
    #设置不要复制的数据库(可选)
    binlog-ignore-db=mysql
    #设置需要复制的数据库(可选)
    binlog-do-db=dbname

    从机配置文件/etc/my.cnf
    从服务器唯一ID(必须)
    #server-id=1
    server-id=2
    启用二进制日志(可选)
    log-bin=mysql-bin

    主机从机mysql重启,关闭防火墙
    虚拟机linux关闭防火墙 service iptables stop

    windows主机建立账户并授权slave
    cd C:Program FilesMySQLMySQL Server 5.7in
    进入mysql
    mysql -u root -p 输入密码hz2020
    执行如下命令
    GRANT REPLICATION SLAVE ON *.* TO 'huangz'@'192.168.240.101' IDENTIFIED BY '123456';
    执行成功后
    flush privileges;
    查询master状态,记录File和Position的值
    show master status;

    Linux虚拟机
    CHANGE MASTER TO MASTER_HOST='主机IP',MASTER_USER='huangz',MASTER_PASSWORD='123456',MASTER_LOG_FILE='File名字',MASTER_LOG_POS=Position数字;
    进入msql,执行命令
    CHANGE MASTER TO MASTER_HOST='192.168.1.103',MASTER_USER='huangz',MASTER_PASSWORD='123456',MASTER_LOG_FILE='mysqlbin.000001',MASTER_LOG_POS=3395;
    启动从服务器复制功能
    start slave;

    查看配置是否成功 G,key-value键值对显示
    show slave statusG

    执行后下面两个参数都是Yes,说明主从配置成功
    Slave_IO_Running:Yes
    Slave_SQL_Running:Yes
    执行结果:
    Slave_IO_Running: Connecting
    如果两个有一个不是YES,需要先stop slave;
    然后CHANGE MASTER TO MASTER_HOST='192.168.1.103',MASTER_USER='huangz',MASTER_PASSWORD='123456',MASTER_LOG_FILE='mysqlbin.000001',MASTER_LOG_POS=605;
    依然不行
    在主机数据库查看给从机分配的账号密码是否成功:
    在mysql数据库用户表中查询:select user,host from user;

    在从机上连接主机看是否能登录成功
    mysql -uhuangz -p123456 -h192.168.1.103
    ERROR 1130 (HY000): Host 'cizon-PC' is not allowed to connect to this MySQL server
    通过查询语句
    SELECT ip,HOST,host_validated,sum_connect_errors,count_authentication_errors FROM performance_schema.host_cache;
    发现HOST值为cizon-PC
    清除host_cache: flush hosts; 无效
    更新HOST192.168.240.101为%后,虚拟从机可正常连接windows主机mysql:
    UPDATE USER SET HOST = '%' WHERE USER = 'huangz';
    FLUSH PRIVILEGES;

    在主机建表测试
    create database db_master_slave_test;
    create table dog (id int not null,name varchar(128));
    insert into dog values(1,'dog01');

    停止从服务器复制功能
    stop slave;

  • 相关阅读:
    几何变换
    螺旋线
    生产环境高可用centos7 安装配置RocketMQ-双主双从-同步双写(2m-2s-sync)
    CentOS7 安装配置RocketMQ --主从模式(master-slave)异步复制
    MybatisPlus----入门
    elasticsearch中term和match以及text和keyboard的解释
    怎么解决Windows的elasticsearch编码闪退问题
    数据库技术之事务
    JDBC------之结果集元数据的操作02
    JDBC------之结果集元数据的操作01
  • 原文地址:https://www.cnblogs.com/huangzhen22/p/14378581.html
Copyright © 2011-2022 走看看