mysql主从复制实战

主从复制的配置

软件版本

1.双方的MySQL要一致

2.如果不一致:主的要低于从的

从哪儿开始复制:

1.都从0开始

2.主服务器已经运行一段时间,并且存在不小的数据集:把主服务器备份,然后在从服务器恢复,从主服务器上备份处的位置开始复制

配置过程:

主服务器:

1.改server-id

2.启用二进制日志

3.创建有复制权限的账号

grant replication slave,replication client on *.* to 'uername'@'hostname' identified by 'password'

flush privileges

从服务器:

1.改server-id

2.启用中继日志

relay-log = /mydata/relaylogs/slave-bin

3.连接主服务器

连接主服务器的命令:

CHANGE MASTER TO MASTER_HOST = '', MASTER_USER='', MASTER_PASSWORD='', MASTER_LOG_FILE='', MASTER_LOG_POS=;

MASTER_HOST = 'host_name'  主服务器地址

MASTER_USER = 'user_name' 以那个用户的身份复制

MASTER_PASSWORD = 'password' 密码

MASTER_LOG_FILE = 'master_log_name' 复制开始文件

MASTER_LOG_POS = master_log_pos 那个节点开始

4.启动复制线程

START SLAVE [thread_types]

START SLAVE [SQL_THREAD] UNTIL

MASTER_LOG_FILE = 'log_name', MASTER_LOG_POS = log_pos

START SLAVE [SQL_THREAD] UNTIL

RELAY_LOG_FILE = 'log_name', RELAY_LOG_POS = log_pos

thread_types:

[thread_type [, thread_type] ... ]

thread_type: IO_THREAD | SQL_THREAD

配置实例:主从复制之从零开始

主服务器

service mysqld stop

vim /etc/my.cnf

server-id = 10

log-bin=/mydata/binlog/master-bin

chown -R mysql.mysql /mydata/binlog

service mysqld start

mysql

GRANT REPLICATION SLAVE,REPLICATION CLIENT ON *.* TO 'repluser'@'192.168.130.%' IDENTIFIED BY 'replpass';

FLUSH PRIVILEGES;

从服务器

service mysqld stop

vim /etc/my.cnf

#log-bin=mysql-bin

#binlog_format=mixed

server-id = 20

relay-log = /mydata/binlog/relay-bin

chown -R mysql.mysql  /mydata/binlog/

service mysqld start

mysql

SHOW GLOBAL VARIABLES LIKE '%relay%'; 

连接主服务器

mysql

CHANGE MASTER TO MASTER_HOST = '192.168.130.61', MASTER_USER='repluser', MASTER_PASSWORD='replpass';

START SLAVE;

主服务创建数据库测试主从复制

CREATE DATABASE testdb;

USE testdb;

CREATE TABLE t1(ID INT);

INSERT INTO t1 VALUES(1),(2);

主服务器

SHOW MASTER STATUS\G;

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

            File: master-bin.000002

        Position: 780

    Binlog_Do_DB: 

Binlog_Ignore_DB: 

1 row in set (0.00 sec)

ERROR: No query specified

从服务器

SHOW SLAVE STATUS\G;

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

               Slave_IO_State: Waiting for master to send event

                  Master_Host: 192.168.130.61

                  Master_User: repluser

                  Master_Port: 3306

                Connect_Retry: 60

              Master_Log_File: master-bin.000002

          Read_Master_Log_Pos: 780

               Relay_Log_File: relay-bin.000003

                Relay_Log_Pos: 1080

        Relay_Master_Log_File: master-bin.000002

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

              Relay_Log_Space: 2102

              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

Master_SSL_Verify_Server_Cert: No

                Last_IO_Errno: 0

                Last_IO_Error: 

               Last_SQL_Errno: 0

               Last_SQL_Error: 

  Replicate_Ignore_Server_Ids: 

             Master_Server_Id: 10

               Master_SSL_Crl: 

           Master_SSL_Crlpath: 

                   Using_Gtid: No

                  Gtid_IO_Pos: 

      Replicate_Do_Domain_Ids: 

  Replicate_Ignore_Domain_Ids: 

                Parallel_Mode: conservative

                    SQL_Delay: 0

          SQL_Remaining_Delay: NULL

      Slave_SQL_Running_State: Slave has read all relay log; waiting for the slave I/O thread to update it

1 row in set (0.00 sec)

配置实例:主从复制之半道复制

主服务器

service mysqld stop

vim /etc/my.cnf

server-id = 10

log-bin=/mydata/binlog/master-bin

chown -R mysql.mysql /mydata/binlog

service mysqld start

mysql

GRANT REPLICATION SLAVE,REPLICATION CLIENT ON *.* TO 'repluser'@'192.168.130.%' IDENTIFIED BY 'replpass';

FLUSH PRIVILEGES;

SHOW MASTER STATUS\G;

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

            File: master-bin.000002

        Position: 780

    Binlog_Do_DB: 

Binlog_Ignore_DB: 

1 row in set (0.00 sec)

ERROR: No query specified

mysqldump --all-databases --flush-logs --master-data=2 --lock-all-tables > /mydata/backups/all.sql 

scp /mydata/backups/all.sql  root@192.168.130.62:/mydata/backups

从服务器

service mysqld stop

vim /etc/my.cnf

#log-bin=mysql-bin

#binlog_format=mixed

server-id = 20

relay-log = /mydata/binlog/relay-bin

chown -R mysql.mysql  /mydata/binlog/

service mysqld start

mysql

SHOW GLOBAL VARIABLES LIKE '%relay%';


mysql < /mydata/backups/all.sql 

主服务创建数据库测试主从复制

CREATE DATABASE testdb1;

USE testdb1;

CREATE TABLE t1(ID INT);

INSERT INTO t1 VALUES(1),(2);

连接主服务器

mysql

CHANGE MASTER TO MASTER_HOST = '192.168.130.61', MASTER_USER='repluser', MASTER_PASSWORD='replpass', MASTER_LOG_FILE='master-bin.000002', MASTER_LOG_POS=780;

START SLAVE;

主服务器  APP开发找上海捌跃网络科技有限公司 17621291122

SHOW MASTER STATUS\G;

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

            File: master-bin.000003

        Position: 828

    Binlog_Do_DB: 

Binlog_Ignore_DB: 

1 row in set (0.00 sec)

ERROR: No query specified

从服务器

 SHOW SLAVE STATUS\G;

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

               Slave_IO_State: Waiting for master to send event

                  Master_Host: 192.168.130.61

                  Master_User: repluser

                  Master_Port: 3306

                Connect_Retry: 60

              Master_Log_File: master-bin.000003

          Read_Master_Log_Pos: 828

               Relay_Log_File: relay-bin.000004

                Relay_Log_Pos: 1128

        Relay_Master_Log_File: master-bin.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: 828

              Relay_Log_Space: 1479

              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

Master_SSL_Verify_Server_Cert: No

                Last_IO_Errno: 0

                Last_IO_Error: 

               Last_SQL_Errno: 0

               Last_SQL_Error: 

  Replicate_Ignore_Server_Ids: 

             Master_Server_Id: 10

               Master_SSL_Crl: 

           Master_SSL_Crlpath: 

                   Using_Gtid: No

                  Gtid_IO_Pos: 

      Replicate_Do_Domain_Ids: 

  Replicate_Ignore_Domain_Ids: 

                Parallel_Mode: conservative

                    SQL_Delay: 0

          SQL_Remaining_Delay: NULL

      Slave_SQL_Running_State: Slave has read all relay log; waiting for the slave I/O thread to update it

1 row in set (0.00 sec)

转自:http://blog.51cto.com/kaiyuandiantang/2320090

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,230评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,261评论 2 380
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,089评论 0 336
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,542评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,542评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,544评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,922评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,578评论 0 257
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,816评论 1 296
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,576评论 2 320
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,658评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,359评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,937评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,920评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,156评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,859评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,381评论 2 342

推荐阅读更多精彩内容