设为首页 收藏本站
查看: 338|回复: 0

[经验分享] Mysql基于binlog主从复制配置

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2014-12-11 13:57:41 | 显示全部楼层 |阅读模式
上次配置mysql的主从复制还是年初的时候,没想到现在又开始使用mysql了。话不多说,进入正题



    Master-Slave 搭建环境:  
    Master:  
    Os: rhel-server-6.3-x86_64  
    Mysql: MySQL -5.5.35-1  
    虚拟机:Virtual BOX  
    Ip:192.168.56.12  
      
    Slave:  
    Os: rhel-server-6.3-x86_64  
    Mysql: MySQL -5.5.35-1  
    虚拟机:Virtual BOX  
    Ip:192.168.56.13  

总体步骤:
1、 修改Master配置文件(my.cnf)
2、 在Master上创建一个有复制权限的用户
3、 复制Master上的数据库到Slave
4、 修改Slave配置文件(my.cnf)
5、 Slave初始化复制
6、 测试
7、 常见问题



1、 修改Master配置文件(my.cnf)



    [mysqld]   
    server-id=1  //必须是服务器唯一id,默认是0,   
    log-bin=mysql-bin //必须启用二进制日志  
    replicate-do-db=zbdba  





2、 在Master上创建一个有复制权限的用户



    mysql>create user zbdba;   
    mysql>grant replication slave on *.* to zbdba identified by '123456';  




3、 复制Master上的数据库到Slave


    mysql>flush tables with read lock;   
    mysql> show master status  
        -> ;  
    +-----------------+----------+--------------+------------------+  
    | File            | Position | Binlog_Do_DB | Binlog_Ignore_DB |  
    +-----------------+----------+--------------+------------------+  
    | ogg1-bin.000003 |      107 |              |                  |  
    +-----------------+----------+--------------+------------------+1 row in set (0.00 sec)  
    mysql>quit  
    [iyunv@ogg /]# /usr/bin/mysqldump zbdba -uroot -pmysql --opt | mysql zbdba -uroot -pmysql -h 192.168.56.13  
    需要在slave中授权:  
    GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.56.13' IDENTIFIED BY 'mysql' WITH GRANT OPTION;  
      
    mysql>unlock tables;  


4、 修改Slave配置文件(my.cnf)



    [mysqld]   
    server-id=2  //必须是服务器唯一id,默认是0,   
    log-bin=mysql-bin //必须启用二进制日志  
    replicate-do-db=zbdba  




5、 Slave初始化复制


    mysql>slave stop;   
    mysql>CHANGE MASTER TO MASTER_HOST='192.168.56.12',  
    MASTER_USER='zbdba',MASTER_PASSWORD='123456',MASTER_LOG_FILE='ogg1-bin.000003',MASTER_LOG_POS=107;  
    mysql> show slave status\G;  
    *************************** 1. row ***************************  
                   Slave_IO_State: Waiting for master to send event  
                      Master_Host: 192.168.56.12  
                      Master_User: zbdba  
                      Master_Port: 3306  
                    Connect_Retry: 60  
                  Master_Log_File: ogg1-bin.000003  
              Read_Master_Log_Pos: 107  
                   Relay_Log_File: ogg2-relay-bin.000002  
                    Relay_Log_Pos: 252  
            Relay_Master_Log_File: ogg1-bin.000003  
                 Slave_IO_Running: Yes  
                Slave_SQL_Running: Yes  
                  Replicate_Do_DB: zbdba  



6、 测试

master:



    mysql> show tables;  
    +-----------------+  
    | Tables_in_zbdba |  
    +-----------------+  
    | guestbook       |  
    | test            |  
    | test1           |  
    +-----------------+  




    create table test2 select * from test1;  




    mysql> show tables;  
    +-----------------+  
    | Tables_in_zbdba |  
    +-----------------+  
    | guestbook       |  
    | test            |  
    | test1           |  
    | test2           |  
    +-----------------+  

salve:



    mysql> show tables;  
    +-----------------+  
    | Tables_in_zbdba |  
    +-----------------+  
    | guestbook       |  
    | test            |  
    | test1           |  
    | test2           |  
    +-----------------+  
    4 rows in set (0.00 sec)  




如果需要配置相互主从的关系,只需要在slave数据库上面建立对应用户,原master上面做一下初始化就行了。


7、 常见问题
/etc下面没有对应的my.cnf文件
解决方法:
如果mysql使用rpm包安装的,/etc下没有对应的my.cnf文件,这时候只需要复制一个/usr/share/mysql目录下的.cnf文件到/etc目录,并改名为my.cnf即可。


Server-id参数无法修改
解决方法:
看my.cnf中是否存在相同的server-id=1


MYSQL主备出现这个错误: ERROR 1201 (HY000):
解决方法:
mysql> slave stop;
Query OK, 0 rows affected, 1 warning (0.00 sec)


mysql> reset slave;


Query OK, 0 rows affected,(0.00 sec)




ERROR 1130 (HY000): Host '*.*.*.*' is not allowed to connect to this MySQL server
解决方法:
如果你想允许用户myuser从ip为192.168.1.3的主机连接到mysql服务器,并使用mypassword作为密码
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.3' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;





运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.iyunv.com/thread-37852-1-1.html 上篇帖子: mysql游标示例 mysql游标简易教程 下篇帖子: MySQL数据库:完美解决中文数据乱码
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表