欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

MySql主从同步笔记

程序员文章站 2024-01-16 13:11:46
1、MySql主从同步是基于二进制日志实现的,二进制日志记录了主服务器数据库的所有变动,从服务器通过读取和执行该日志文件保持和主数据库的数据一致; 2、配置主服务器 a、开启二进制日志,找到MySql配置文件 my.cnf 在[mysqld]模块下加入如下代码; b、登录MySql,创建只能进行主从 ......

1、mysql主从同步是基于二进制日志实现的,二进制日志记录了主服务器数据库的所有变动,从服务器通过读取和执行该日志文件保持和主数据库的数据一致;

2、配置主服务器

 a、开启二进制日志,找到mysql配置文件 my.cnf 在[mysqld]模块下加入如下代码;

server-id=30 // 唯一id
                
log-bin = "d:/mysqllog/ddt_binlog.log" // 日志保存位置

 b、登录mysql,创建只能进行主从同步的用户;

mysql > grant replication slave on *.* to 'zzw'@'192.168.1.1' identified by '123456'; //  zzw 用户名   123456 密码  192.168.1.1 从服务器ip

 c、刷新表,锁表,阻止写入数据;

mysql > flush tables with read lock; // 锁表防止所有写操作

 d、获取二进制日志信息,记录 file 和 position 值;
MySql主从同步笔记

 e、导入数据(将主库现有数据导入从库,主库无数据此步略):navicat 连接主服务器的数据库,在菜单栏选择工具----->数据传输,选择主、从库服务器ip和同步的表或库,同步数据;还可以将主库数据库备份到sql文件还原到从库;

 f、解锁表,恢复主库操作;

mysql > unlock tables;

3、配置从服务器

 a、开启二进制日志,找到mysql配置文件 my.cnf 在[mysqld]模块下加入如下代码;

server-id = 192 // 唯一id
                
log-bin = "d:/mysqllog/ddt_binlog.log" // 日志保存位置

 b、配置同步参数;

mysql> change master to
        master_host='192.168.1.1',  // 主库服务器ip
        master_port = 3306,
        master_user='zzw', // 用户名
        master_password='123456', // 密码
        master_log_file='ddt_binlog.000019', // 上面记录主库的file值
        master_log_pos = 572109; // 上面记录主库的position值

 c、启动主从同步进程;

mysql > start slave;

 d、检查主从同步是否成功   slave_io_running: yes   slave_sql_running: yes 即表示同步配置成功;

mysql > show slave status \g

MySql主从同步笔记