• MySQL主从复制


    1.配置主服务器

    登录主服务器3306

    mysql -S /data/mysql/mysql_3306/mysqld.sock -P 3306 -u root -p

    创建主从复制账户rep1

    mysql> create user rep1;

    账户赋权

    mysql> GRANT REPLICATION SLAVE ON *.* to 'rep1'@'127.0.0.1' identified by 'password';

    因为我是在一台机器上安装了两个mysql实例,配的地址是本机地址127.0.0.1,多台机器情况下配的是从服务器地址。

    复制账号需要REPLICATION SLAVE权限才能正常使用,复制用户可以通过

    SHOW MASTER STATUS;

    SHOW SLAVE STATUS;

    命令来查看复制状态

    增加主服务器配置,开启二进制日志log-bin

    server-id=1   //数据服务标识,从服务器配置的时候要区别于主服务器

    log-bin=master-bin 

    log-bin-index=master-bin.index

    登录主服务器查看状态

     

    2.配置从服务器

    修改从服务器配置文件server-id = 3,区别于主服务器id。

    重启从服务器后登录

    连接master:

    mysql> change master to master_host=’127.0.0.1’,master_user=’rep1’,master_password=’password’,master_log_file=’mysql-bin.000002’,master_log_pos=0;

    执行后启动Slave

    mysql> start slave;

    查询同步状态:

    mysql> show slave statusG

     
    出错了

    原因关联master时master_log_pos属性没配

    重新关联master

    mysql> change master to master_host=’127.0.0.1’,master_user=’rep1’,master_password=’password’,master_log_file=’mysql-bin.000002’,master_log_pos=1309;

    报错:ERROR 3021 (HY000): This operation cannot be performed with a running slave io thread; run STOP SLAVE IO_THREAD FOR CHANNEL '' first.

    需要先关闭当前的slave;

    mysql> stop slave;

    完成后重新关联,查看slave状态:

    slave_sql_running和Slave_IO_Running,分别负责slave mysql进程和与主机的io通信,必须全部是yes才表示成功。

     
    成功了

    验证:在主服务器中执行建库、建表、数据增删改都会同步到从服务器中,看来是成功了。

     

    附上项目源码:https://github.com/wollowow/mysql-proxy-demo.git

    参考:

    https://www.cnblogs.com/luckcs/articles/2543607.html

    https://www.cnblogs.com/alvin_xp/p/4162249.html

     
  • 相关阅读:
    DOM--3 DOM核心和DOM2 HTML(3)
    js-其他
    DOM--3 DOM核心和DOM2 HTML(2)
    DOM--3 DOM核心和DOM2 HTML(1)
    插入视频(youtube)
    DOM--2 创建可重用的对象
    safari的坑
    DOM--1 遵循最佳实践
    mvc-5视图和模版
    mvc-4控制器和状态(2)
  • 原文地址:https://www.cnblogs.com/wollow/p/10839881.html
Copyright © 2020-2023  润新知