mysql主从配置对解决并发有用_mysql主从数据库配置,实现分布式读写负载均衡[高并发]...

开发环境

win2008r2-x64  mysql5.6    192.168.1.100    主服务器

win764-64  mysql5.6            192.168.1.150    从服务器

实现功能

主数据库中数据有更新时同步到其它主机的mysql数据库中,实现备份数据等其它功能,如读写分离等功能

配置步骤

初始化主从数据库数据

打开主数据库先锁定数据为只读状态flush tables with read lock;

用自己的方法把数据导入到从数据库里

恢复读写状态unlock tables;

主数据库

打开主数据库my.ini配置文件加入下面配置(启动二进制日志log-bin要通过它来同步数据)[mysqld]

server-id=1   //给每个数据数据库服务的唯一标识不同重复

log-bin=master-bin

log-bin-index=master-bin.index

重启mysql服务器打工命令行输入SHOW MASTER STATUS;

d17587b78e10c7904cdf3bf792c8711a.png

可以看到二进制日志文件名记好下面从数据库中要用到

创建同步需要的账号#创建新用户

create user tongbu;

#repl用户必须具有REPLICATION SLAVE权限,除此之外没有必要添加不必要的权限,密码为mysql。说明一下192.168.0.%,这个配置是指明repl用户所在服务器,这里%是通配符,表示192.168.0.0-192.168.0.255的Server都可以以repl用户登陆主服务器。当然你也可以指定固定Ip。

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

从数据库

打开从属服务器的my.ini文件加入下面配置[mysqld]

server-id=2   //给每个数据数据库服务的唯一标识不同重复

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

relay-log=slave-relay-bin

打开mysql命令行输入#连接主数据库

change master to master_host='192.168.1.100',

master_port=3306,

master_user='tongbu',

master_password='***********',

master_log_file='master-bin.000001',

master_log_pos=0;

#启动从数据库同步

start slave;

然后就能同步数据库对数据的操作啦

如果只想同步部分数据库可以在从数据库配置文件中加入#如果有多个可以复制添加多行

replicate_wild_do_table= 数据库名1.%

replicate_wild_do_table= 数据库名2.%

其它配置也可以,但根据网上反应有坑,用这个最保险

同步出错问题解决

查看数据库状态如果有不同步的时候可以用下面语句查看状态#查看主数据库状态

show master status;

#查看从数据库状态

show slave status\G;

0cf53d9e1e6c8dd7923c8ca8ca1a01bd.png

如上两个选项都是yes的状态下同步才是正常的

注意:同步数据只是同步主数据库听sql语句操作在从数据库中也执行一下,如果从数据库中没有这个数据库就会报错,使用show slave status可以查看有没有报错

如果两步数据时出错以后的同步操作就停止啦

如果有错误但不影响后面的操作可以用下面语句忽略本次错误继续执行同步(数据差异小不影响的情况下可以这样忽略继续运行就可以,如果数据差异太大就直接手动同步数据再运行主从同步)set global sql_slave_skip_counter=1;

start slave;

show slave status\G;

备注:上面使用show slave status\G 的时候报错,去掉后面的\G在navicat下运行时显示很乱如下:

1926eaee5a868ab572c8e4cf2558840e.png

如果在cmd命令行下执行则正常,没那闲工功查为啥啦.就这样吧

07a2e80e4dea8d7e0f1a4501d4631a58.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值