mysql 数据库 主从复制
请尊重知识,请尊重原创 更多资料参考请见 http://www.cezuwang.com/listFilm?page=1&areaId=906&filmTypeId=1
这里讲解最简单的mysql 负载配置,需要发挥的,自己再找资料。
这里之讲解配置,因为里面的原理一则简单 二则需要自己去专研。
--master:192.168.0.212
--slave:192.168.0.213
第一步 新建权限用户
CREATE USER 'rep1'@'192.168.0.213' IDENTIFIED BY 'rep1';
--on master_db
在小版本的mysql时代,可以直接插入这样一个用户,然后直接赋给权限,高版本的mysql数据库需要按照上述方法操作。
GRANT REPLICATION SLAVE ON *.* TO 'rep1'@'192.168.0.213' IDENTIFIED BY 'rep1';
--on master_db
第二步 配置主从数据库my.cnf文件
--master linux /etc/my.cnf log-bin=master-bin log-bin-index=master-bin.index server-id=1
--slave linux /etc/my.cnf relay-log=slave-relay-bin relay-log-index=slave-relay-bin.index server-id=2
第三步 重启两台服务器 mysql服务。
--then restart mysql service --then restart mysql service
第四步 查看主服务器状态
show master status;
第五步 在从服务器上主动连接主服务器
-- on slave db
CHANGE MASTER TO MASTER_HOST = '192.168.0.212', MASTER_PORT = 3306, MASTER_USER = 'rep1', MASTER_PASSWORD = 'rep1', master_log_file='master-bin.000002', master_log_pos=120;
其中的 master_log_file master_log_pos 需要根据第四步来修改
第六步 启动从服务器
start slave; 查看从服务器 状态 show slave status \G; 主要指标是查看 Slave_IO_Running: Yes Slave_SQL_Running: Yes 以及从服务器上 日志文件的位置和主服务器上是否一致,不一致的情况下需要重新设置, 如果IO没有启动,使用下面的语句启动。 start slave io_thread;
基本上不出意外 都会成功。
检测方法 就是,主创建表 从跟着,主插入 删除 从跟着。自己去。
出现类似 错误
error connecting to master 'rep1@' - retry-time: 60 retries: 22
只是slave io_thread 没有启动,所以链接不上,启动一下就ok了。
start slave io_thread;
需要注意的:
1 防火墙
2 两个服务器数据库数据并不一定强制要求 必须一样,只需要从服务器在开始bin日志文件和切入点 与主服务器保持一致就可以了。
3 其他网页上 说那么多,基本都是扯淡。
请尊重知识,请尊重原创 更多资料参考请见 http://www.cezuwang.com/listFilm?page=1&areaId=906&filmTypeId=1