Mysql 主从复制配置

一、物料

1、Mysql数据库【我这用的绿色版的】;

2、虚拟机一个【我装的win10虚拟机,精简版】;

3、navicat【这个看个人,我是方便操作数据用】;

4、暂时想不到,用到再说;

二、准备工作

1、mysql数据库2套,这里我使用绿色版的mysql,版本为---【等会查吧】;

2、由于一台机器只能同时开启一个Mysql,所以这里我加了个虚拟机,虚拟机一个Mysql,物理机一个Mysql【ps:其实有单机多开的,但是我懒得处理了,反正是测试对吧】;

3、将物理机与虚拟机网络打通,ping对方能ping通那种;

4、将Mysql的端口打通,也就是3306端口,在防火墙ing;

5、确保Mysql可以通过外部访问,我测试之初就出问题了,用户那块居然只监听localhost,没有全网可用,尴尬的一匹;

6、算了,等我测完了之后再来写步骤

三、进入正题

1、首先在2个电脑上分别开启数据库:分别名为主Mysql和从Mysql;

2、在主Mysql上创建一个用户'czk',并允许其他服务器可以通过远程访问数据,通过该用户读取二进制日志,实现数据同步。

a首先在主Mysql命令控制台上面创建ltkj用户,具体的sql为:

create user czk;

b、为这个用户赋予相应的权限,这里我赋值的是最大的权限。也就是该用户可以从任何的ip地址登陆访问数据库,可以操作所有的数据库表。具体的sql为:

GRANT ALL PRIVILEGES ON *.* TO czk@'%' IDENTIFIED BY '123456';
FLUSH PRIVILEGES;

c、注意事项:

c1.FLUSH PRIVILEGES;这个命令必须填写,否则上面设置的用户权限失效。

c2.ip地址是可以设置范围的。例如:GRANT REPLICATION SLAVE ON *.* TO 'czk'@'192.168.1.%' IDENTIFIED BY '123456';

c3.操作的数据库也是可以指定的。

c4.用户的权限也是可以设置的。具体的命令大家可以自己去学习,我这里就不多说了。

如果不设置用户权限的话,本地可以连接的上mysql服务器,局域网或者外网是连接不上,会显示连接被拒绝或者用户没有这个权限。除此之外权限还可以精确到某个数据库,连接者的IP地址区间,设置是某个数据的操作问题等等都可以进行设置。我这边设置的是leemeea这个用户具备所有用户数据库的权限,所有的ip地址都可以通过machao这个用户来连接主数据库。

d、找到MySQL安装文件夹修改my.ini文件。mysql中有好几种日志方式,这不是今天的重点。我们只要启动二进制日志log-bin就ok。

#开启主从复制,主库的配置

log-bin= mysql3306-bin

#指定主库serverid

server-id=101

# 二进制文件的格式

binlog_format=mixed

#指定同步的数据库,如果不指定则同步全部数据库

#binlog-do-db=(数据库名称)

重启MySQL服务

e、查看日志

SHOW MASTER STATUS;

重启MySQL服务(到这里主数据库就配置完毕了)

3、配置从库

a、找到MySQL安装文件夹修改my.ini文件,在文件的最下面增加下面几行代码

#指定serverid,只要不重复即可,从库也只有这一个配置,其他都在SQL语句中操作

server-id=102

relay-log-index=slave-relay-bin.index

relay-log=slave-relay-bin

重启MySQL服务

b、连接主服务器命令控制台输入:

change master to

master_host='192.168.1.104', //主服务器Ip地址

master_port=3306,//主服务器端口号

master_user='czk',//主服务器用户名

master_password='123456', //主服务器用户密码

master_log_file='mysql3306-bin.000001',//主服务器产生的日志要和主服务器所配置的相互对应如下如所示的file对应

master_log_pos=107;//要和主服务器所配置的相互对应如下如所示的Position对应(经过测试发现如果是一样的只能同步一次,这里也可以改为0,0是可以每次都同步成功,避免后续麻烦)

c、重启从数据库

d、查看配置是否成功

show slave status\G

在这里主要是看:

  Slave_IO_Running=Yes

  Slave_SQL_Running=Yes

如果出现Slave_IO_Running: No或Slave_SQL_Running: NO,需要重做以上对从数据库的相应设置;

4、测试

      剩下的就算了吧,可以自己测试玩

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值