MySQL数据库主从数据库配置

说明

在项目部署到生产环境时,会有很多不可抗力的因素,数据库会出现崩溃停止运行数据丢失,数据对不上的问题,这个时候就需要两个数据库同步运行,来确保一个数据库崩溃另一个能马上顶上。

 配置时至少两台电脑,一个主库可以有多个从库,同一台电脑不能即是主库又是从库。

部署使用

配置主库

1、停止主库

net stop mysql

2、配置主库my.ini文件(可直接复制粘贴到文件中)

[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
#设置3306端口
port = 3306
# 设置mysql的安装目录
# 设置mysql数据库的数据的存放目录
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
#=========主从复制关键配置=====================
server_id=1 #主库和从库需要不一致,配一个唯一的ID编号,1至32。 手动设定
log-bin=mysql-bin #二进制文件存放路径,存放在根目录data
#binlog-do-db=test #需要复制的库,多个库用逗号隔开,如果此项不配置所有主库都参与复制
#binlog-ignore-db=mysql #不需要复制的库,和上项同理
#=========主从复制关键配置=====================

 3、保存,重启主库服务

net start mysql

4、在主库中建立一个用户(用来给主库连接使用)

允许所有IP的做法

GRANT REPLICATION SLAVE ON *.* TO 'myslave'@'%' IDENTIFIED BY '123456';

指定IP的做法(建议使用)

GRANT REPLICATION SLAVE ON *.* TO myslave@'192.168.11.1/255.255.255.0' IDENTIFIED BY '123456';
  1. myslave
  2. 123456密码是用户对应的密码
  3. 192.168.11.1是IP地址

5、刷新配置

flush privileges;

6、查询file

show master status; # 找到File 和 Position 的值记录下来,从库连接时要用上

 

 

配置从库

1、停止从库服务

net stop mysql

2、配置从库my.ini(可直接复制粘贴到文件中)

[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
#设置3306端口
port = 3306
# 设置mysql的安装目录
# 设置mysql数据库的数据的存放目录
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
#========主从复制关键配置======================
server_id=2 #主库和从库需要不一致
#binlog-do-db=test #和主库说明一致
#binlog-ignore-db=mysql #和主库说明一致
#========主从复制关键配置======================

3、重启服务

net start mysql 

4、从库执行1

stop slave ;

5、在从库执行2

change master to master_host='ip地址',master_user='用户名',master_password='密码', master_log_file='mysql-bin.主库查看的值',master_log_pos=主库查询出来的值; 
  • master_host= 这里填你主库的IP。
  • master_user=’用户名’ 刚才我们创建的那个用户。
  • 这就是我们刚才 在主库里面 show master status;得到的值了。自行根据实际情况填写
  • master_log_file=’mysql-bin.000002’
  • master_log_pos=423
  • 如果你的主库还有是其他端口的话,
  • master_port=端口号

6、从库执行3

start slave; 

7、验证

show slave status \G;

 当下图中红色方框内皆为‘Yes’时才配置成功,如若不是,检查IP等需要填值的地方是否正确

 

当完成以上配置后,从库就可以访问主库的数据库了,但是只能访问主从库建立连接之后所创建的库表,无法访问之前的数据。
主库对库表的增删改从库可以知道,从库所进行的增删改只在本从库有效,无法对主表造成影响。 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值