MySQL主从同步

****1 mysql主从同步
	1.1 相关概念:
		1 主从同步介绍(什么是主从同步) 存储数据的服务结构
		分为两种角色:
			主数据库服务器:接收客户端连接的服务器
			从数据库服务器:自动同步主数据库服务器的数据到本机
		2 主从同步工作过程?
			主服务器必须启用binlog日志
			从服务器会有IO线程和SQL线程
	IO线程的工作任务:复制master主机 binlog日志文件里的SQL命令到本机的relay-log文件里。
	SQL线程的工作任务:执行本机relay-log文件里的SQL语句,实现与Master数据一致。
	
	1.2 配置 mysql主从同步
		1 拓扑结构
		2 配置mysql主从同步
			2.1 配置主服务器(master)具体配置如下:192.168.4.51
			启用binlog日志

]# vim /etc/my.cnf
server_id=51
log_bin
:wq
[root@host51 ~]# systemctl restart mysqld
用户授权(给从服务器拷贝sql命令时连接使用的用户)
[root@host51 ~]# mysql -uroot -p123qqq…A
mysql> grant replication slave on . to repluser@"%" identified by “123qqq…A”;
查看日志信息
mysql> show master status;
±------------------±---------±-------------±-----------------±------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
±------------------±---------±-------------±-----------------±------------------+
| host51-bin.000001 | 441 | | | |
±------------------±---------±-------------±-----------------±------------------+
1 row in set (0.00 sec)
mysql>
2.2 配置从服务器(slave)192.168.4.52 具体步骤如下:
1 指定server_id 并重启数据库服务
]# vim /etc/my.cnf
[mysqld]
server_id=52
:wq
[root@host52 ~]# systemctl restart mysqld
[root@host52 ~]# setenforce 0
[root@host52 ~]# systemctl stop firewalld
2 确保与主数据库服务器数据一致
在主服务器51 做数据的完全备份
[root@host51 ~]# mysqldump -uroot -p123qqq…A --master-data -B bbsdb db1 db3 > /root/bak.sql
[root@host51 ~]# scp /root/bak.sql root@192.168.4.52:/root/
在从服务器52 使用备份文件恢复数据
[root@host52 ~]# mysql -uroot -p123qqq…A < /root/bak.sql
[root@host52 ~]# mysql -uroot -p123qqq…A -e ‘show databases’
[root@host52 ~]# grep host51 /root/bak.sql
CHANGE MASTER TO MASTER_LOG_FILE=‘host51-bin.000001’, MASTER_LOG_POS=441;
[root@host52 ~]#
3 数据库管理员登录服务,指定主服务器信息
mysql> change master to master_host=“192.168.4.51” , master_user=“repluser” , master_password=“123qqq…A” ,
master_log_file=“host51-bin.000001” , master_log_pos=441 ;
4 启动slave进程
mysql> start slave;
5 查看进程状态
MySQL> show slave status \G
Master_Host: 192.168.4.51
Slave_IO_Running:Yes
Slave_SQL_Running: Yes
3 测试主从同步配置
3.1 在主服务添加客户端连接使用的用户
mysql> grant select , insert , update ,delete on db3.* to yaya@"%" identified by “123qqq…A”;
mysql> grant select , insert , update ,delete on db1.* to yaya@"%";
[root@host52 ~]# mysql -uroot -p123qqq…A -e ‘select user from mysql.user’
3.2 在客户端50连接连接主服务器,存储数据
[root@host50 ~]# mysql -h192.168.4.51 -uyaya -p123qqq…A
mysql> show grants

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
MySQL主从同步是一种数据复制机制,用于将一个MySQL数据库实例中的数据自动复制到其他MySQL数据库实例,从而实现数据的备份、负载均衡和故障恢复等功能。 在主从同步中,一个MySQL实例被配置为主服务器(Master),而其他实例被配置为从服务器(Slave)。主服务器负责接收和处理客户端的写操作,然后将这些操作记录到二进制日志(Binary Log)。从服务器连接到主服务器,并通过读取主服务器的二进制日志来复制这些操作。从服务器将这些操作应用到自己的数据上,以保持与主服务器数据的一致性。 配置MySQL主从同步需要进行以下步骤: 1. 确保主服务器和从服务器之间可以互相通信。 2. 在主服务器上开启二进制日志功能,并配置二进制日志文件的位置和名称。 3. 在主服务器上创建一个用于复制的用户,并为该用户授予复制权限。 4. 在从服务器上配置复制参数,包括指定主服务器的IP地址、连接用户名和密码等。 5. 启动从服务器,并连接到主服务器进行复制。 6. 监控主从同步过程,确保数据的一致性和同步性。 需要注意的是,在配置主从同步时,需要考虑网络延迟、带宽和硬件性能等因素,以确保同步过程的效率和稳定性。另外,主从同步只能复制数据更改操作(如插入、更新、删除),而不能复制结构变更操作(如创建表、修改表结构)。如果需要同步结构变更,可以使用其他工具或方法来实现。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值