Home  >  Article  >  Database  >  mysql主从同步部署_MySQL

mysql主从同步部署_MySQL

WBOY
WBOYOriginal
2016-06-01 13:45:59951browse

bitsCN.com

 

mysql主从同步部署:

 

master:192.168.2.67

slave:192.168.2.211

同步系统非默认库,master中其它库已经运行一段时间。

 

master端:

vim /etc/my.cnf

server-id       = 1    master端ID号

log-bin=/data/logbin/mysql-bin    日志路径及文件名

#binlog-do-db = cacti            同步cacti,此处关闭的话,就是除不允许的,其它的库均同步。

binlog-ignore-db = mysql        不同步mysql库,以下同上

binlog-ignore-db = test

binlog-ignore-db = information_schema

 

/usr/local/mysql/bin/mysql -uroot -p

mysql>grant replication slave on *.* to rsync@'192.168.2.211' identified by '123456';

mysql>flush privileges;

mysql>flush tables with read lock;

mysql>show master status;

此处主要记录下file和position的值,slave端要使用到。如下

File             | Position  |

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

| mysql-bin.000047 | 391592414

另外一个窗口运行下面的:

tar -czf /data/mysql/cacti.tgz /data/mysql/cacti

scp /data/mysql/cacti.tgz root@192.168.2.211/data/mysql/cacti.tgz

完成后返回前一个窗口解锁数据库只读。

mysql>unlock tables;

 

slave端:

vim /etc/my.cnf

server-id = 2      slave的ID号,此处一定要大于master端。

保存退出。

 

/usr/local/mysql/bin/mysqladmin -uroot -p shutdown

tar xvzf /data/mysql/cacti.tgz /data/mysql/cacti

chown -R mysql.mysql /data/mysql/cacti

/usr/local/mysql/bin/mysql -uroot -p

mysql>stop slave;

mysql>change master to

     >master_host='192.168.2.67',

     >master_user='rsync',                            master端创建的用于主从同步的账户和密码

     >master_password='123456',

     >master_port='3306',                             master端设置的client端使用的端口号。

     >master_log_file='mysql-bin.000047',             master端记录的file值

     >master_log_pos=391592414;                       master端记录的position值

mysql>start slave;

mysql>show slave status /G

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

             Slave_IO_State: Waiting for master to send event

                Master_Host: 192.168.2.67

                Master_User: rsync

                Master_Port: 3306

              Connect_Retry: 30

            Master_Log_File: mysql-bin.000047

        Read_Master_Log_Pos: 413641446

             Relay_Log_File: backter-relay-bin.000002

              Relay_Log_Pos: 13433937

      Relay_Master_Log_File: mysql-bin.000047

           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: 405026116

            Relay_Log_Space: 22049267

            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: 148

1 row in set (0.00 sec)

 

查看上面的Slave_IO_Running: Yes 和Slave_SQL_Running: Yes  2个都为yes则证明主从同步正常,如果有任一个显示NO,则证明同步有问题。可以查看数据库日志文件,里面基本上会显示出错误之处,根据错误一步一步排查,基本上都可以解决的。

 

本文出自 “我的运维之路” 博客

bitsCN.com
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn