【配置MySQL数据库主从复制】

配置MySQL数据库主从复制

前言

在工作中不免遇到用多个数据库进行数据备份的情况,基本是为了数据安全,有的也是考虑负载均衡,这里给大家分享数据库主从复制的配置步骤。

配置主库

1、修改主库配置文件命令:vim /etc/mysql.cnf
修改主库配置命令图
2、配置文件中信息

server-id=1951 #设置主服务器的ID(不能和别的服务器重复,建议使用ip的最后一段)
innodb_flush_log_at_trx_commit=2 #可以配置的值:0/1/2; 0、效率最高,最不安全;1、最安全,但是效率最低;2、安全和效率平衡的取舍,在服务器系统挂掉的情况下会丢失数据;
sync_binlog=1 #,值可设置 1、500、1000;可自己根据测试性能配置
log-bin=mysql-bin #binlog日志文件名
binlog-ignore-db=mysql # 表示不同步mysql库
binlog-ignore-db=information_schema # 表示不同步information_schema库
binlog-ignore-db=performance_schema
binlog-ignore-db=sys
binlog-do-db=xxxx # 这个表示只同步某个库 (如果没有此项,表示同步所有的库)

主库配置信息图
3、创建复制账户,并赋予相应的权限

mysql -u root -p
mysql> create user '账号'@'%' identified by '密码'; # 5.7要求密码必须含有大小写英文,符号和数字
mysql> grant FILe on *.* to '账号'@'192.168.172.111' identified by '密码'; #赋予FILE权限,允许从从库ip访问主库
mysql> grant replication slave on *.* to '账号'@'192.168.172.111' identified by '密码'; #赋予主从同步权限
mysql> flush privileges;

下图为添加示例图:
示例图

下图为添加完成时数据库显示:

添加用户完成图
4. 重启主库,并查看服务器状态
重启:
service mysqld restart
查看主服务器状态:
mysql -u root -p
mysql> show master status; #查看主库的状态 file,position 这两个值很有用,记一下;需要放到slave配置中
也可以在图形化管理工具中重启查看:
查看状态

配置从库

1、修改主库配置文件命令
vim /etc/mysql.cnf
2、配置文件中信息

	server-id=111
	#log-bin=mysql-bin #从库提高性能可以不开bin-log日志
	replicate-ignore-db=mysql #配置不需要复制的库mysql
	replicate-ignore-db=information_schema
	replicate-ignore-db=performance_schema
	replicate-ignore-db=sys
	replicate_do_db=python #标记出需要同步的数据库名,在多从配置时可以按需配置
	innodb_flush_log_at_trx_commit=2 # 可以配置的值:0/1/2; 0、效率最高,最不安全;1、最安全,但是效率最低;2、安全和效率平衡的取舍,在服务器系统挂掉的情况下会丢失数据;
	sync_binlog=1000 # 每进行n次事务提交之后,MySQL将binlog_cache中的数据强制写入磁盘。
	slave_parallel_workers=4 #根据实际情况决定开启多少个线程用于主从复制
	slave_parallel_type=logical_clock #基于组提交的并行复制方式
	master_info_repository=TABLE
	relay_log_info_repository=TABLE
	relay_log_recovery=ON

3、重启从库,并配置相关主从信息
重启从库命令:service mysqld restart
配置主从:

mysql -u root -p #登录
mysql> stop slave; #关闭
mysql> change master to master_host='192.168.172.110', master_user='账号' ,master_password='密码', master_log_file='mysql-bin.00001' ,master_log_pos=156; #配置主库信息(这里用到了上面保存的信息)
mysql> start slave; #启动
mysql> show slave status \G;  #查看状态 Slave_IO_Running,Slave_SQL_Running 都为Yes的时候表示配置成功

提示:记着手动同步配置主从之前的数据

结语

不是职业博主,记录自己遇到的一些奇葩问题及一些知识点,顺便分享给大家,有什么不正确或者疑问,可以留言评论,在看到的第一时间回复,谢谢!
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值