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

[经验分享] centos下MySQL主从同步配置

[复制链接]

尚未签到

发表于 2016-5-10 06:32:19 | 显示全部楼层 |阅读模式
引用
一、环境

        主机:

                   master操作系统:centos 5.3

                   IP:192.168.1.222

                   MySQL版本:5.0.77

         从机:         

     slave操作系统:centos 5.3

                   IP:192.168.1.220

                   MySQL版本:5.0.77








二、创建数据库


分别登录master机和slave机的mysql:mysql –u root –p

创建数据库:create database repl;








三、master机和slave机的相关配置


1、修改master机器中mysql配置文件my.cnf,该文件在/etc目录下

在[mysqld]配置段添加如下字段


server-id=1

log-bin=log

binlog-do-db=repl //需要同步的数据库,如果没有本行,即表示同步所有的数据库

binlog-ignore-db=mysql //被忽略的数据库



在master机上为slave机添加一同步帐号


grant replication slave on *.* to 'repl'@'192.1681.220' identified by '123456';



重启master机的mysql服务:service mysqld restart



用show master status 命令看日志情况

mysql>show master status;

+-----------------+------------+-------------------+-----------------------+

| File                | Position     | Binlog_Do_DB   | Binlog_Ignore_DB |

+-----------------+------------+-------------------+-----------------------+

|    log.000003 |           98  | repl                 | mysql                    |

+-----------------+------------+-------------------+-----------------------+

1 row in set (0.00 sec)









2、修改slave机中mysql配置文件

同样在[mysqld]字段下添加如下内容


server-id=2

master-host=192.168.1.222

master-user=repl

master-password=123456

master-port=3306

master-connect-retry=60

replicate-do-db=repl //同步的数据库,不写本行 表示 同步所有数据库



然后重启slave机的mysql



在slave机中进入mysql

mysql>start slave;

mysql>show slave status\G;
如果Slave_IO_Running、Slave_SQL_Running状态为Yes则表明设置成功。








四、出现的问题

当我在执行start slave这条命令时,系统提示

ERROR 1200 (HY000): The server is not configured as slave; fix in config file or with CHANGE MASTER TO,

执行show slave status;又提示Empty set (0.00 sec),想不通问题在哪里



后来发现,原来slave已经默认开启,要先关闭再开启

执行 slave stop;

再执行


change master to master_host='192.168.1.222',master_user='repl',master_password='123456', master_log_file='log.000003' ,master_log_pos=98;


然后执行 slave start;

这时 再执行show slave status\G

显示如下:

*************************** 1. row ***************************

             Slave_IO_State: Waiting for master to send event

                Master_Host: 192.168.1.222

                Master_User: repl

                Master_Port: 3306

              Connect_Retry: 60

            Master_Log_File: log.000003

        Read_Master_Log_Pos: 98

            Relay_Log_File: mysqld-relay-bin.000002

              Relay_Log_Pos: 229

      Relay_Master_Log_File: log.000003

           Slave_IO_Running: Yes

          Slave_SQL_Running: Yes

            Replicate_Do_DB:

        Replicate_Ignore_DB:

         Replicate_Do_Table:

     Replicate_Ignore_Table:

    Replicate_Wild_Do_Table:

Replicate_Wild_Ignore_Table:

                 Last_Errno: 0

                 Last_Error:

               Skip_Counter: 0

        Exec_Master_Log_Pos: 98

            Relay_Log_Space: 229

            Until_Condition: None

             Until_Log_File:

              Until_Log_Pos: 0

         Master_SSL_Allowed: No

         Master_SSL_CA_File:

         Master_SSL_CA_Path:

            Master_SSL_Cert:

          Master_SSL_Cipher:

             Master_SSL_Key:

      Seconds_Behind_Master: 0

1 row in set (0.00 sec)


显示红色那两行,说明配置成功。








五、测试主从服务器是否能同步

在主服务器上面新建一个表,必须在repl数据下

mysql> use repl

Database changed


mysql> create table test(id int,name char(10));

Query OK, 0 rows affected (0.00 sec)



mysql> insert into test values(1,'zaq');

Query OK, 1 row affected (0.00 sec)



mysql> insert into test values(1,'xsw');

Query OK, 1 row affected (0.00 sec)



mysql> select * from test;

+------+------+

| id    | name |

+-------+------+

|    1    | zaq   |

|    1    | xsw |

+-------+------+

2 rows in set (0.00 sec)





在从服务器查看是否同步过来

mysql> use repl;

Database changed


mysql> select * from test;

+------+------+

| id    | name |

+------+------+

|     1 | zaq   |

|     1 | xsw |

+------+------+

2 rows in set (0.00 sec)





说明已经配置成功。

运维网声明 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.yunweiku.com/thread-214835-1-1.html 上篇帖子: CentOS安装crontab及使用方法 下篇帖子: centos下使用Heartbeat实现集群
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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