mysql 主从master-slave同步复制 配置,为读写分离准备
Posted Loi
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql 主从master-slave同步复制 配置,为读写分离准备相关的知识,希望对你有一定的参考价值。
1、为方便,我在一个windows下安装两个mysql实例,端口分别是 3306、3307
打开 my.ini 或 my-default.ini 文件 配置 basedir datadir 和port ,默认3306。配置如下
主节点
[mysqld] log-bin=mysql-bin //[必须]启用二进制日志 basedir = D:\\developer\\mysql-5.6.24-win32 datadir = D:\\developer\\mysql-5.6.24-win32\\data # port = ..... # server_id = ..... server-id=10 //[必须]服务器唯一ID,默认是1,一般取IP最后一段 sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
从节点
[mysqld] log-bin=mysql-bin #[不是必须]启用二进制日志 basedir = D:\\developer\\mysql-slave datadir = D:\\developer\\mysql-slave\\data port = 3307 server-id=11 #[必须]服务器唯一ID,默认是1,一般取IP最后一段 sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
安装mysql 服务,命令如下:
D:\\developer\\mysql-slave\\bin\\mysqld.exe install mysql-slave --defaults-file="d:\\developer\\mysql-slave\\my-default.ini"
master mysql服务器创建 replication 权限的用户,然后重启
grant replication slave on *.* to \'repl\'@\'%\' identified by \'qwert\';
show master status; 然后不操作数据库。
slave 服务器 连接 master ,命令如下:
stop slave;
change master to master_host=\'127.0.0.1\', master_port=3306,master_user=\'repl\',master_password=\'qwert\', master_log_file=\'mysql-bin.000001\', master_log_pos = 2388;
start slave;
show slave status;
出现的问题:
1、 show master status; 显示为空 则是 二进制日志 没有开启 log-bin = ...
2、 show slave status; 显示 Slave I/O: error connecting to master \'repl@127.0.0.1:3306\' - retry-time: 60
因为 master 服务器的mysql 用户有 user = 空的用户, delete from mysql.user where user=\'\' 然后重启即可。
参考资料:
2. mysql主从复制
3. mysql replication配置 http://www.cnblogs.com/northhurricane/p/3919889.html
以上是关于mysql 主从master-slave同步复制 配置,为读写分离准备的主要内容,如果未能解决你的问题,请参考以下文章