本文作者:心月

mysql数据库主从配置教程

心月IT博客 10-17
mysql数据库主从配置教程摘要:mysql主从配置是数据库读写分离、负载均衡等操作的前置准备工作,也是做mysql数据库优化必须掌握的技能,主数据库master上进行写操作,同步数据库,从数据库slave上进行读操作,可以极大的提升性能,降低服务器负载。

        mysql主从配置是数据库读写分离、负载均衡等操作的前置准备工作,也是做mysql数据库优化必须掌握的技能,主数据库master上进行写操作,同步数据库,从数据库slave上进行读操作,可以极大的提升性能,降低服务器负载。接下来,详细讲解mysql主从配置的步骤。


1、准备两个数据库主机(数据库版本都为5.7.27)

主数据库 | 192.168.1.103 | master |
从数据库 | 192.168.1.102 | slave |


2、数据库主机的前置准备工作

        主从数据库版本保持一致

        启动两台数据库主机的mysql服务

        关闭主机防火墙
        相互之间能ping 通 IP


3、主数据库master上配置修改

        修改主数据库主机上的数据库配置

sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf 
[mysqld]
bind_address 		= 0.0.0.0
server-id               = 103                  				 #自定,但不能和从库的一样
log_bin                 = /var/log/mysql/mysql-bin.log      		 #开启binlog 日志  
expire_logs_days        = 10                    			 #日志的缓存时间
max_binlog_size     	= 200M                        			 #日志的最大大小
binlog_do_db            = tp5shop                			 #同步的数据库名称
binlog_ignore_db        = mysql                 			 #忽略同步的数据库


4、从数据库slave上的配置修改

        修改主数据库主机上的数据库配置

sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf 
[mysqld]
bind_address 		= 0.0.0.0
server-id               = 102   		        #自定,但不能和主库的一样
expire_logs_days        = 10  				#日志的缓存时间
max_binlog_size         = 200M  			#日志的最大大小
replicate_do_db         = tp5shop 			#同步的数据库名称
replicate_ignore_db     = mysql 			#忽略同步的数据库


5、配置需要主从同步的数据库(数据库名、表名、表结构、表数据都要一致)

        可以用同一数据导入的方式完成,也可以用同样的mysql语句完成数据库、数据表的创建、和数据插入。


6、在主数据库master上创建一个同步权限的账户 用来同步数据

mysql> create user 'testuser'@'192.168.1.102' identified by '123456';
mysql> grant replication slave on *.* to 'testuser'@'192.168.1.102' identified by '123456';
mysql> flush privileges; #刷新MySQL的系统权限相关表
mysql> show master status;  #查看主库的状态   不要关闭窗口先  不要重启

主数据库配置

记住红色框框位置的两个值。


7、从库配置

mysql> change master to master_host='192.168.1.103', master_port=3306, master_user='testuser', master_password='123456',master_log_file='mysql-bin.000011', master_log_pos=878;
mysql> start slave; #开启主从同步
mysql> show slave status \G  #查看从库状态

从数据库配置

从库状态中下面两项如果是Yes,说明配置成功

Slave_IO_Running: Yes
Slave_SQL_Running: Yes


8、检查能否实现数据同步

        在主数据库的slave_test表中插入一条数据,然后在从数据库查看slave_test表,检查从库数据表是否插入了数据。

主数据库slave_test表插入数据

从数据库查看slave_test表数据

文章版权及转载声明:

本文由 心月IT技术博客 博主整理于 10-17
若转载请注明原文及出处:https://www.xinyueseo.com/mysql/409.html

分享到:
赞(
发表评论
快捷输入:

验证码

    评论列表 (有 0 条评论,人围观)参与讨论