cool-2018-03-10-windows下实现mysql5.6读写分离、主从复制和一主多从
2018-03-10 15:54
537 查看
mysql压缩包移步下载:mysql5.6
mysql5.6--主从数据库的安装第一步:复制mysql到自定义目录中,我现在放的是 E:\cool\mysql,数据库叫3380
第二步: 删除3380\logs目录下的所有日志文件
第三步骤: 删除3380\datas所有的log文件(注意不是所有文件哦!)
第四步:打开 my.ini 文件,做如下修改1、
2、
3、
4、
5、
第五步:安装并启动刚刚安装的mysql首先检查有没有该数据库,如果有则打开cmd窗口,执行以下命令进行删除,用命令删除系统服务sc delete MySQL-3380
接下来安装到系统服务中,启动安装
执行以下命令进行安装.\mysqld.exe install MySQL-3380 --defaults-file="E:\cool\mysql\3380\data\my.ini"
去服务中刷新并且进行启动
用navicat进行连接测试
接下来进行第二个数据库的配置、安装、启动
将3380数据库复制一份,改为3381,与3380在同一目录下,方便管理,然后执行上述步骤,修改my.ini将所有3380改为3381
以上步骤结束后,主从数据库安装成功,从数据库有多个就配置多个,步骤相同
接下来实现主从复制
mysql主(称master)从(称slave)复制的原理:master将数据改变记录到二进制日志(binary log)中,也即是配置文件log-bin指定的文件(这些记录叫做二进制日志事件,binary log events)
slave将master的binary log events拷贝到它的中继日志(relay log)
slave重做中继日志中的事件,将改变反映它自己的数据(数据重演)
1.1. 主从配置需要注意的地方主DB server和从DB server数据库的版本一致
主DB server和从DB server数据库数据一致[ 这里就会可以把主的备份在从上还原,也可以直接将主的数据目录拷贝到从的相应数据目录]
主DB server开启二进制日志,主DB server和从DB server的server_id都必须唯一
1.2. 主库配置从库的用户为了能够正常使用,这时候可以将3380和3381两个数据库重启一下接着在navicat中3380中创建一个连接主数据库的用户名和密码grant replication slave on *.* to 'slave01'@'127.0.0.1' identified by '123456';flush privileges;以上语句的意思是将复制权限授权给root 123456这个用户SHOW MASTER STATUS
自此主库的配置完全结束1.3. 从库的配置#指定serverid,只要不重复即可,从库也只有这一个配置,其他都在SQL语句中操作在navicat中执行,执行以下语句并且语句跟主数据库授权的用户要匹配上,还有状态信息要一致CHANGE MASTER TO master_host='127.0.0.1', master_user='slave01', master_password='123456', master_port=3380, master_log_file='mysql-bin.000002', master_log_pos=420;
#启动slave同步START SLAVE;
#查看同步状态SHOW SLAVE STATUS;
说明配置有问题,如何修改,去error-log中进行修改
2018-01-26 10:14:12 6216 [ERROR] Slave I/O: Fatal error: The slave I/O thread stops because master and slave have equal MySQL server UUIDs; these UUIDs must be different for replication to work. Error_code: 15932018-01-26 10:14:12 6216 [Note] Slave I/O thread exiting, read up to log 'mysql-bin.000002', position 420所以要搜索如何修改mysql的UUID
修改这个auto.cnf中的UUID即可,然后重启slave数据库出现这个标志说名主从配置成功了
测试只要找一条记录修改即可同步由mysql底层实现同步
mysql5.6--主从数据库的安装第一步:复制mysql到自定义目录中,我现在放的是 E:\cool\mysql,数据库叫3380
第二步: 删除3380\logs目录下的所有日志文件
第三步骤: 删除3380\datas所有的log文件(注意不是所有文件哦!)
第四步:打开 my.ini 文件,做如下修改1、
2、
3、
4、
5、
第五步:安装并启动刚刚安装的mysql首先检查有没有该数据库,如果有则打开cmd窗口,执行以下命令进行删除,用命令删除系统服务sc delete MySQL-3380
接下来安装到系统服务中,启动安装
执行以下命令进行安装.\mysqld.exe install MySQL-3380 --defaults-file="E:\cool\mysql\3380\data\my.ini"
去服务中刷新并且进行启动
用navicat进行连接测试
接下来进行第二个数据库的配置、安装、启动
将3380数据库复制一份,改为3381,与3380在同一目录下,方便管理,然后执行上述步骤,修改my.ini将所有3380改为3381
以上步骤结束后,主从数据库安装成功,从数据库有多个就配置多个,步骤相同
接下来实现主从复制
mysql主(称master)从(称slave)复制的原理:master将数据改变记录到二进制日志(binary log)中,也即是配置文件log-bin指定的文件(这些记录叫做二进制日志事件,binary log events)
slave将master的binary log events拷贝到它的中继日志(relay log)
slave重做中继日志中的事件,将改变反映它自己的数据(数据重演)
1.1. 主从配置需要注意的地方主DB server和从DB server数据库的版本一致
主DB server和从DB server数据库数据一致[ 这里就会可以把主的备份在从上还原,也可以直接将主的数据目录拷贝到从的相应数据目录]
主DB server开启二进制日志,主DB server和从DB server的server_id都必须唯一
1.2. 主库配置从库的用户为了能够正常使用,这时候可以将3380和3381两个数据库重启一下接着在navicat中3380中创建一个连接主数据库的用户名和密码grant replication slave on *.* to 'slave01'@'127.0.0.1' identified by '123456';flush privileges;以上语句的意思是将复制权限授权给root 123456这个用户SHOW MASTER STATUS
自此主库的配置完全结束1.3. 从库的配置#指定serverid,只要不重复即可,从库也只有这一个配置,其他都在SQL语句中操作在navicat中执行,执行以下语句并且语句跟主数据库授权的用户要匹配上,还有状态信息要一致CHANGE MASTER TO master_host='127.0.0.1', master_user='slave01', master_password='123456', master_port=3380, master_log_file='mysql-bin.000002', master_log_pos=420;
#启动slave同步START SLAVE;
#查看同步状态SHOW SLAVE STATUS;
说明配置有问题,如何修改,去error-log中进行修改
2018-01-26 10:14:12 6216 [ERROR] Slave I/O: Fatal error: The slave I/O thread stops because master and slave have equal MySQL server UUIDs; these UUIDs must be different for replication to work. Error_code: 15932018-01-26 10:14:12 6216 [Note] Slave I/O thread exiting, read up to log 'mysql-bin.000002', position 420所以要搜索如何修改mysql的UUID
修改这个auto.cnf中的UUID即可,然后重启slave数据库出现这个标志说名主从配置成功了
测试只要找一条记录修改即可同步由mysql底层实现同步
相关文章推荐
- amoeba和mysql_proxy分别实现mysql-5.6的读写分离+mysql主从复制
- MySQL主从复制--mysql-proxy实现MySQL-5.6读写分离
- MySQL5.6 实现主从复制,读写分离,分散单台服务器压力
- windows 下 MySQL读写分离、主从复制、通过amoeba代理实现读写分离 配置全过程
- MySQL主从复制与读写分离在windows系统下的实现(amoeba3.0+mysql5.1实现)因版本问题,本文在原来文章基础上有更改并且本人已经测试成功
- 红帽6.4 64位上实现mysql5.6的主从复制、基于GTID复制、半同步、ssl加密复制以及读写分离 推荐
- MySQL5.6 实现主从复制,读写分离,分散单台服务器压力
- MySQL之——MS主从复制(读写分离)实现
- MySQL主从复制--实现读写分离
- Spring--实现读写分离( MySQL实现主从复制)
- MYSQL 主从复制读写分离实现
- 使用Spring实现读写分离( MySQL实现主从复制)
- 使用Spring实现读写分离( MySQL实现主从复制)
- mysql之使用centos7实现主从复制(读写分离)的实现过程
- mysql读写分离(主从复制)实现
- 【MySQL】mysql实现主从复制(Windows)
- 分布式架构高可用架构篇_08_MyCat在MySQL主从复制基础上实现读写分离
- 使用Spring实现读写分离( MySQL实现主从复制)
- CentOS6.8 MySQL 5.6实现主从复制
- Mycat之——Mycat在MySQL主从复制基础上实现读写分离